Java Unsafe类的使用
摘要:Field f = Unsafe.class.getDeclaredField("theUnsafe"); f.setAccessible(true); Unsafe unsafe = (Unsafe) f.get(null); System.out.println(unsafe); User user = new User(1,"aa"); System.out.println("id=" ...
阅读全文
posted @
2018-12-21 15:44
_故乡的原风景
阅读(734)
推荐(0)
Java GC收集器
摘要:Java GC收集器 分为:串行收集器、并行收集器、并发收集器 1、串行收集器 年轻代和年老代回收都使用单线程来执行。回收时用户线程处于等待状态 2、并行收集器 主要回收使用单线程执行,次要回收使用多线程执行。回收时用户线程处于等待状态,是吞吐量优先 3、并发收集器 响应时间优先。回收线程和用户线程
阅读全文
posted @
2018-08-18 12:13
_故乡的原风景
Java堆内存
摘要:Java堆内存 = 年轻代(Young Generation) + 年老代(Old Generation) + 持久代 (Permanent Generation) 1、年轻代 所有新生成的对象都放在年轻代,尽可能快速的收集那些生命周期短的对象。 2、年老代 在年轻代经历了N次垃圾回收仍然存在的对象
阅读全文
posted @
2018-08-18 11:44
_故乡的原风景
Daily Problem #14
摘要:This problem was asked by Google. The area of a circle is defined as πr^2. Estimate π to 3 decimal places using a Monte Carlo method. Hint: The basic
阅读全文
posted @
2018-08-04 21:37
_故乡的原风景
异或链表(XOR Linked List)
摘要:一、常见的链表 1、单链表(Singly Linked List) 构成:每个节点包含数据(data)和后继节点的地址(next) 2、双向链表 构成:每个节点包含数据(data)、前驱的地址(prev)、后继的地址(next) 优势:删除或添加元素不需要移动数据,可以双向遍历 3、异或链表(XOR
阅读全文
posted @
2018-07-26 22:53
_故乡的原风景
分布式锁
摘要:1、实现分布式锁的几种方式: 基于数据库实现分布式锁基于缓存(Redis,memcached,tair)实现分布式锁基于Zookeeper实现分布式锁
阅读全文
posted @
2018-02-07 18:46
_故乡的原风景
乐观锁和悲观锁
摘要:1、乐观锁,自己去修改记录的时候都认为没有任何其他程序修改数据。可以加version进行控制 2、悲观锁,自己每次操作都认为有其他程序修改数据,所以操作前锁定数据,避免其他程序修改,适于冲突概率比较高的应用。
阅读全文
posted @
2017-08-11 00:17
_故乡的原风景
java规范 控制语句
摘要:1、在一个switch里面,必须有一个default放在最后,即使什么逻辑也没有。 2、表达异常分支时,少用if else,这种可以改成: if (condition) { return; } 如果非得使用if else避免超过三层。否则维护很困难。可以使用为语句或者状态模式来替换。 3、不要在条件
阅读全文
posted @
2017-08-11 00:07
_故乡的原风景
java并发处理规则
摘要:1、创建线程或者线程池的时候指定线程名,以便有问题时回溯。 2、线程资源必须通过线程池提供,不允许在应用中自行显示地创建线程。 3、线程池不允许通过Executors去创建而是通过ThreadPoolExecutor去创建。 4、SimpleDateFormat是线程不安全类,一般不允许定义为sta
阅读全文
posted @
2017-08-10 23:50
_故乡的原风景
java规约 集合处理
摘要:1、关于hashcode和equals的处理: 1)只要重写equals就要重写hashcode; 2)如果一个对象要用set进行存储,那么必须重写这两个方法。 3)如果自定义对象用来作为Map的键,必须重写这两个方法。 2、ArrayList的subList不可以强转为ArrayList,返回的是
阅读全文
posted @
2017-08-10 08:09
_故乡的原风景
java编程规约
摘要:一、命名风格 1、代码中的命名不能以下划线和美元符号开始和结束。 2、代码中严禁使用拼音和英文混合的方式,更加不能使用中文。 3、类名必须使用驼峰形式(UpperCamelCase),一下例外:BO、DO、DTO。 4、方法名、参数名、成员变量名、局部变量名都统一使用lowerCamelCase。
阅读全文
posted @
2017-08-02 23:54
_故乡的原风景
Java日志规约
摘要:1、日志系统中不直接使用Log4j和Logback中的api,应该依赖使用日志框架slf4j中的API; 2、对于日志级别的输出必须以条件输出或者使用占位符输出,避免资源浪费 3、生产环境禁止输出debug日志。有选择地输出error日志
阅读全文
posted @
2017-07-27 23:43
_故乡的原风景
tomcat调整运行内存
摘要:1、双击server,编辑属性 2、点击open launch configuration 3、再弹出框中选择arguments 4、在参数末尾加空格再加: -Xms256M -Xmx1024M -XX:PermSize=256m -XX:MaxPermSize=1024m 解释: -Xms256M
阅读全文
posted @
2017-05-07 13:20
_故乡的原风景
idea使用的快捷键(不断更新)
摘要:1. 打开类文件: Ctrl + N2. 打开非类文件: Ctrl + Shift + N3. 显示类或方法的javadoc: Ctrl + Q4. 找到类,方法,变量的声明的地方: Ctrl + B5. 快速展示类的元素: Ctrl + F126. 覆盖基类方法: Ctrl + O7. 实现接口或
阅读全文
posted @
2017-03-31 23:20
_故乡的原风景
base64字符串和文件之间的转换
摘要:这里使用的spring的base64Utils 常用的有sun.misc的和apche的
阅读全文
posted @
2017-03-10 17:26
_故乡的原风景
freemarker
摘要:1、日期显示 <td class="am-hide-sm-only">${(ActiveMoneyLog.addTime?string("yyyy-MM-dd hh:mm:ss"))!}</td> 2、类型 <#if ActiveMoneyLog.status?exists> <#if Active
阅读全文
posted @
2017-03-06 09:59
_故乡的原风景
java实现多线程的方式
摘要:1、继承Thread类 2、实现Runnable接口 3、使用ExecutorService、Callable、Future实现带返回结果的多线程 例子: ExecutorService pool = Executors.newFixedThreadPool(size);//给一个固定大小的线程池
阅读全文
posted @
2017-02-24 00:07
_故乡的原风景