叶新东的个人博客 叶新东的个人博客 
  • 首页
  • 关于我
  • 碎言碎语
  • 学无止尽
  • 留言板
  • 登入
×
欢迎登录叶新东的博客
用户名:
密码:
首页 > 学无止尽 >  每页10条   共299条   当前第22页
  • 应该选

    java对象从新生代晋升到老年代的四种方式

    yexindonglai@163.com 2022-03-01 11:18 Java

     822°

     0

    晋升的四种方式担保机制大对象直接进入老年代长期存活的对象动态年龄判断1、担保机制1.1什么是担保机制   我们都用过花呗借呗、或者信用卡吧?就是你身上的前不够用的时候,你可以去借信用卡、借花呗、借借呗,但是你必须有个东西来担保,不然人家凭什么借给你?现在来说一般都是用你的信用分来担保的,就像支付宝有芝麻信用分数;还有一些比较大的数目是需要你用车子或房子来抵押的,这就是担保,以确保你不会跑掉;那其实jvm在内存分配的时候也有担保机制,就是你的新生代内存不足的时候,通过担保分配的方式让大对象直接分配到老年代;1.2代码示例接下来,我们运行一组代码测试一下,在运行前需要先加上以下几个jvm的参数-X
  • 应该选

    原来类加载器这么简单,手把手教你用纯java代码实现热部署

    yexindonglai@163.com 2022-03-01 11:17 Java

     754°

     0

    1、什么是热部署   相信大家在写代码的时候都有这个困扰,就是每次我改完代码之后都需要重启项目才能看到结果,小项目还好,启动不会占用太多时间,如果是一个大项目,每次重启都要耗费很多时间的情况下,这无疑对开发效率都会大幅下降,那么有没有这样一种技术?我修改后无需重启服务器,就可以马上看到效果?我可以很肯定地回答你:“有”,就是热部署技术,在你修改完代码之后,这项技术会自动帮你重新加载被修改后class文件,真正实现实时查看改动的结果;2、准备  要知道热部署,就得先了解class加载机制,在我们启动项目的时候,首先编辑器会将后缀为.java的文件编译成.class文件,之后jvm虚拟机会把cla
  • 应该选

    原来java有这么多把锁,图解java中的17把锁

    yexindonglai@163.com 2022-03-01 11:16 Java

     823°

     0

    乐观锁和悲观锁独占锁和共享锁互斥锁和读写锁公平锁和非公平锁可重入锁自旋锁分段锁锁升级(无锁|偏向锁|轻量级锁|重量级锁)锁优化技术(锁粗化、锁消除)1、悲观锁    悲观锁对应于生活中悲观的人,悲观的人总是想着事情往坏的方向发展。    举个生活中的例子,假设厕所只有一个坑位了,小明上厕所会第一时间把门反锁上,这样其他人上厕所只能在门外等候,这种状态就是「阻塞」了    在数据中因为总是假设最坏的情况,所以每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁,有任何一线程对数据进行读写操作都会上锁,数据库的行锁、表锁、读锁,写锁都是悲观锁
  • 应该选

    不会压测?没关系,手把手教你用jmeter做压力测试及结果分析

    yexindonglai@163.com 2022-03-01 11:14 研发管理

     1623°

     0

    1、准备  测试之前需要先准备相关的工具,JMeter是运行在jdk下的一款压测工具,所以,要运行JMeter首选要安装jdk并配置环境变量,具体请自行百度jdk环境变量安装; 2、JMeter是什么ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP 服务器,等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能
  • 应该选

    你的单例模式真的安全吗?双重检索模式和指令重排序助你高垒单例安全防御

    yexindonglai@163.com 2022-03-01 11:12 Java

     856°

     0

    前言  单例的五种创建方式,可以看我另一篇文章: 设计模式--单例模式 ,这篇文章讲解了5种单例模式的创建方式,但今天我们来主要来讲讲单例的安全模式,那到底怎样才是安全的呢?那么接下来我会由浅入深的方式讲解单例模式;1、饿汉式packagecom.designPatterm.single;/***单例模式--饿汉式*线程安全,效率高*/publicclassSingletonModelEHan{privatestaticfinalSingletonModelEHanobj=newSingletonModelEHan();//私有构造方法,防止创建多个实例privateSingletonMode
  • 应该选

    图解ConcurrentHashMap的前世今生

    yexindonglai@163.com 2022-03-01 11:11 Java

     759°

     0

    前言   首先呢,想要了解ConcurrentHashMap,你得先了解HashMap,可以看我另一个帖子: HashMap底层原理以及LinkedHashMap、HashTable、HashSet四者区别  为什么要先了解HashMap呢?因为HashMap是线程不安全的类,只适合在单线程上使用,既然使用受限,那就意味着它的结构相对比较简单,所以呢,先学HashMap在来了解ConcurrentHashMap将会更好理解,达到锦上添花的作用,事实也是如此,因为ConcurrentHashMap也是基于HashMap发展而来的;如果你一上来就直接看ConcurrentHashMap的源码,会非
  • 应该选

    ReentrantLock使用Condition实现线程的等待和唤醒

    yexindonglai@163.com 2022-03-01 11:09 Java

     690°

     0

    ReentrantLock   ReentrantLock的出现是为了替代synchronized,因为使用lock锁之后代码会更加简洁,增加易读性,但是在jdk1.6之后,synchronized增加了一个锁升级的概念,所以从jdk1.6开始,都优先使用synchronized,这不代表着ReentrantLock就要废弃了,synchronized是一个非公平锁,若要实现公平锁就得使用ReentrantLock;所以啊,没有万能的工具,但可以通过场景的不同而选择最适合的工具来使用;ConditionCondition是为了控制线程的挂起和唤醒而发明的;也就是用来实现线程之间通讯使用的接口,
  • 应该选

    java多线程join()方法的作用和实现原理

    yexindonglai@163.com 2022-03-01 11:07 Java

     641°

     0

    1、join()方法的作用  这个方法的作用是先将当前线程挂起,待其他线程结束后在执行当前线程的代码;2、应用场景比如有三个人小红、小李、小王,三个人相约一起去酒店吃饭,菜已经点好了, 三个人从不同的地方出发,只有三个人都到了酒店之后才会开始上菜;那么这三个人就分别代表三个线程,这三个线程执行完之后才会执行“上菜”的代码逻辑,代码示例packagecom.Lock;/***join方法示例*比如有三个人小红、小李、小王,三个人相约一起去酒店吃饭,菜已经点好了, 三个人从不同的地方出发,只有三个人都到了酒店之后才会开始上菜;那么这三个人就分别代表三个线程,这三个线程执行完之后才会执行“上菜”的代
  • 应该选

    简约而不简单的CountDownLatch

    yexindonglai@163.com 2022-03-01 11:06 Java

     598°

     0

    CountDownLatch是什么?  CountDownLatch是JDK1.5之后提供的一个同步工具,在并发包下面,它可以让一个或多个线程等待,一直等到其他线程中执行完成一组操作。实现功能和java多线程中的join()方法很像;想要详细了解join方法可以看我另一篇文章: java多线程join()方法的作用和实现原理 CountDownLatch有哪些常用方法CountDownLatch在调用构造方法初始化时,需要指定用给定一个整数作为计数器;这个计数器用来阻塞await方法;countDown方法: 计数器会被减1,调用此方法不会阻塞await方法      :如果计数器大于0时,线
  • 应该选

    原来jdk自带了这么好玩的工具 > JPS使用教程

    yexindonglai@163.com 2022-03-01 11:05 Java

     743°

     0

    jps(JavaVirtualMachineProcessStatusTool)输出主程序的路径全类名-l输出main方法的参数-m只输出进程编号pid-q输出jvm参数-v组合命令-mlv远程连接jps服务端配置客户端配置完jps(JavaVirtualMachineProcessStatusTool)jps是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程以及进程id。jps也是一样,它的作用是显示当前系统的java进程
上一页 22 下一页
博客搜索
热门推荐
  • java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽

    4307

  • 手把手教你复现apache log4j2 漏洞

    2840

  • Elasticsearch 核心概念

    3781

  • Centos开启Swap交换分区教程

    3481

  • 9千字长文带你了解SpringBoot启动过程--史上最详细 SpringBoot启动流程-图文并茂

    2812

标签云
程序人生 人工智能 计算机理论与基础 资讯 音视频开发 区块链 安全 研发管理 编程语言 后端 数据库 移动开发 物联网 架构 云计算/大数据 互联网 游戏开发 运维 前端 Go Java linux Centos Docker Kubernetes SpringMVC Spring SpringBoot SpringCloud 设计模式 子墨掩码 IO Netty idea Redis Kafka Hystrix Mysql Eureka Oracle Mybatis Maven Nginx 消息队列 git flink Dubbo c++ QT 定时任务 DrawIO Lua skynet OpenCV CMake FFmpeg

Copyright © 2022 www.chn520.cn
粤ICP备18099573号 icode、爱程序、爱代码,联系管理员QQ:422301654