
JAVA基础
马以
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用静态内部类实现单例
单例模式之 利用静态类实现单例 利用静态类在jvm内存模型中存储在静态块且只有一个实例的属性,可以轻松实现单例,保证了线程的安全性; 具体代码如下: package com.ant.innerclass; /** * @author Ant gxstax@163.com * @ClassName: HolderSingleton * @Description: 静态内部类实现...原创 2018-11-23 14:46:14 · 655 阅读 · 2 评论 -
老年人,记不住数据库properties的配置,mark一下
#MySQL MySQL_Driver=com.mysql.jdbc.Driver MySQL_Url=jdbc:mysql://192.168.1.1:3307/zxy MySQL_User=root MySQL_Pwd=root #SqlServer SqlServer_Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver SqlServer...原创 2018-12-11 10:26:07 · 256 阅读 · 0 评论 -
java 的 ExecutorService类线程池 RejectedExecutionException异常
从java5开始,java官方推荐我们使用并发包下的Executors来处理多线程; Executors下面一共给我们提供了4种类型的线程池: 1:固定长度的线程池 public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThread...原创 2019-01-24 11:36:37 · 1875 阅读 · 1 评论 -
SimpleDateFormat的线程安全问题
记录一次SimpleDateFormat的线程安全问题; 问题的出现是我定义了一个静态的 : private final static SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 然后在使用的时候是线程池调用:具体代码我就不贴了,写一个小的模拟案例来大概是这样的: public...原创 2019-03-11 19:59:11 · 626 阅读 · 0 评论 -
浅谈CMS和G1垃圾收集器(上)
首先CMS和G1都作为过java的主流垃圾收集器; 首先CMS是一款并发垃圾收集器,它的应用场景主要是一些互联网以及2B的业务场景(响应速度要快); 下面是引用的周志明java虚拟机那本书上的图,CMS大概分为四个步骤:初始标记、并发标记、重新标记、并发清理; CMS的优点: 1:并发收集, 因为CMS收集器的第二步和第四步都是和用户线程一起工作,所以它的特点就是并...原创 2019-04-08 19:33:35 · 664 阅读 · 0 评论 -
java指令码 字节码 对比
指令从0x00-0xc9 没有0xba 常量入栈指令 指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null null值入栈。 0x02 iconst_m1 ...翻译 2019-04-03 19:10:28 · 370 阅读 · 0 评论 -
浅谈CMS和G1垃圾收集器(下)
G1 是一款面向服务端的的垃圾收集器 G1收集器也分为4个过程:初始标记、并发标记、最终标记、筛选回收 G1的特点 并行与并发:G1是分区域收集垃圾,所以可以利用多核和多cpu的特性来进行并发垃圾收集; 分代收集:分代收集其实是很多垃圾收集器的特点,G1也不例外。不过G1会标记某个对象经理过多少次minor gc; 空间整合:G1在这里做的就要比CMS好很多,整体可以认为它用的是标记...原创 2019-04-13 19:23:12 · 450 阅读 · 0 评论 -
jvm的各种牛(傻)逼(屌)指令,已经调优参数总结
javap -v xxx.class 编译class为字节码文件 各种虚拟机参数 -Xms128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -Xss256K 设置栈的内存大小,1.5后 虚拟机的默认栈大小为1M,最小只能设置到108k 这些参数可以被松散的聚合成三类: 行为参数(Behavioral Options):用于改变jvm的一些基础行为...原创 2019-04-18 11:46:49 · 762 阅读 · 0 评论