随笔分类 -  学习——Java

摘要:在EHCache中,可以设置maxBytesLocalHeap、maxBytesLocalOffHeap、maxBytesLocalDisk值,以控制Cache占用的内存、磁盘的大小(注:这里Off Heap是指Element中的值已被序列化,但是还没写入磁盘的状态,貌似只有企业版的EHCache支 阅读全文
posted @ 2019-01-04 20:20 E_star 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:摘要 本文以如何计算Java对象占用内存大小为切入点,在讨论计算Java对象占用堆内存大小的方法的基础上,详细讨论了Java对象头格式并结合JDK源码对对象头中的协议字段做了介绍,涉及内存模型、锁原理、分代GC、OOP-Klass模型等内容。最后推荐JDK自带的Hotspot Debug工具——HS 阅读全文
posted @ 2019-01-04 20:18 E_star 阅读(6135) 评论(3) 推荐(2) 编辑
摘要:之前有朋友反馈说发的内容希望有个梯度,逐步加深,前面发了几篇关于jvm源码分析的文章,可能我觉得我已经把内容写得浅显易懂了,但是对于某些没怎么接触的同学来说还是比较难理解,这个我以后慢慢改进吧,今天发篇轻松点的文章,可能大家在工作过程中也会可能碰到类似的问题,或许有经验的同学看到这个题目就知道我要说 阅读全文
posted @ 2017-07-19 20:23 E_star 阅读(694) 评论(0) 推荐(0) 编辑
摘要:1. 引言当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。如果对Java中断没有一个全面的了解,可能会误以为被中断的 阅读全文
posted @ 2017-02-24 20:18 E_star 阅读(509) 评论(0) 推荐(0) 编辑
摘要:2、关于Minor GC,Major GC与Full GC 1) Minor GC:即新生代的GC,指发生在新生代的垃圾收集动作。当新生代的Eden区内存不足时,就会触发Minor GC。由于对象创建时,都会在Eden区分配内存,因此通过日志可以看到Minor GC动作执行相当频繁;同时,由于新生代 阅读全文
posted @ 2017-02-15 10:15 E_star 阅读(683) 评论(0) 推荐(0) 编辑
摘要:结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任... 阅读全文
posted @ 2015-10-21 19:54 E_star 阅读(270) 评论(0) 推荐(0) 编辑
摘要:我们现在在Java中使用多线程通常不会直接用Thread对象了,而是会用到java.util.concurrent包下的ExecutorService类来初始化一个线程池供我们使用。之前我一直习惯自己维护一个list保存submit的callable task所返回的Future对象。在主线程中遍历... 阅读全文
posted @ 2015-10-15 13:36 E_star 阅读(7792) 评论(3) 推荐(1) 编辑
摘要:Java实现定时任务: 在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据、文件等。在本文里,我会给大家介绍3种不同的实现方法:普通thread实现TimerTask实现ScheduledExecutorService实现普通thr... 阅读全文
posted @ 2015-07-30 12:06 E_star 阅读(535) 评论(0) 推荐(0) 编辑
摘要:BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负scale 次幂。因此,BigDecimal表示的数值是(unscaledValue × 10-scale)。构造函数(主... 阅读全文
posted @ 2014-12-29 10:01 E_star 阅读(968) 评论(0) 推荐(0) 编辑
摘要:/** * * @param args */ public static void main(String[] args) { List list = new ArrayList(); list.add("aa"); list... 阅读全文
posted @ 2014-12-04 15:20 E_star 阅读(706) 评论(0) 推荐(0) 编辑
摘要:http://forestqqqq.iteye.com/category/301129 阅读全文
posted @ 2014-07-10 17:21 E_star 阅读(137) 评论(0) 推荐(0) 编辑
摘要:要排序的对象:import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.... 阅读全文
posted @ 2014-05-22 14:09 E_star 阅读(734) 评论(0) 推荐(0) 编辑
摘要:今天项目中遇到了一个对List中对象去重的问题。首先对于我们自己系统中的对象我们只要重写该对象的 equal 和 hashcode 即可(利用对象中的能够唯一确定对象的属性)。但是我遇到的不是本系统的对象, 而是另一个系统中的对象, 我本身是无法对其进行重写的。 我的处理方法是遍历List,利用Ma... 阅读全文
posted @ 2014-05-12 22:28 E_star 阅读(849) 评论(0) 推荐(0) 编辑
摘要:pinyin4j的使用很方便,一般转换只需要使用PinyinHelper类的静态工具方法即可:String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(‘赵’);//该类还有其他的拼音转换形式,但是基本上用不到,就不介绍了返回的数组即是该字符的拼... 阅读全文
posted @ 2014-04-17 16:11 E_star 阅读(746) 评论(0) 推荐(0) 编辑
摘要:为什么要学内省? •开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。什么是Java对象的属性和属性的读写方法?内省访问JavaBean属性的两种方式: •通过PropertyDescriptor类操作Bean的属性 •通过Introspector类获得Bean对象的 BeanInfo,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),通过这个属性描述器就可以获取某个属性对应的 getter/setter 方法,然后通过反射机制来调用... 阅读全文
posted @ 2013-12-24 10:47 E_star 阅读(332) 评论(0) 推荐(0) 编辑
摘要:第一个线程循环3次,然后二个线程循环5次, 然后第三个线程循环8次, 这样执行50次。一:传统的wait(), notify(), notifyAll()package com.cn.gbx;public class TheadConnection { public static void main(String[] args) { final Business business = new Business(); new Thread( new Runnable() { @Override public void run() { for (int i = 1;... 阅读全文
posted @ 2013-12-20 22:05 E_star 阅读(258) 评论(0) 推荐(0) 编辑
摘要:Java中的读写锁:多个读锁不互斥, 读锁与写锁互斥, 写锁与写锁互斥, 这是由JVM自行控制的,我们只要上好相应的锁即可。缓存的设计:package com.cn.gbx;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class CacheDesign { private Map cache = new HashMap(); 阅读全文
posted @ 2013-12-20 16:04 E_star 阅读(1664) 评论(0) 推荐(0) 编辑
摘要:一、线程的先来后到——问题的提出:为什么要有多线程同步?Java多线程同步的机制是什么?http://www.blogjava.net/zhangwei217245/archive/2010/03/12/315080.html二、给我一把锁,我能创造一个规矩——传统的多线程同步编程方法有哪些?他们有何异同?http://www.blogjava.net/zhangwei217245/archive/2010/04/24/315283.html三、Lock来了,大家都让开—— Java并发框架中的Lock详解。http://www.blogjava.net/zhangwei217245/arch 阅读全文
posted @ 2013-12-20 11:39 E_star 阅读(278) 评论(0) 推荐(0) 编辑
摘要:package com.cn.gbx;import java.util.Date;import java.util.Random;import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorCompletionService;i 阅读全文
posted @ 2013-12-19 17:15 E_star 阅读(256) 评论(0) 推荐(0) 编辑
摘要:1:如果每个线程执行的代码相同,可以使用同一个Runnable对象,然后将共享的数据放在Runnable里面,来实现数据的共享。 例如买票系统...package com.cn.gbx;import java.util.Date;import java.util.Random;import java.util.Timer;import java.util.TimerTask;public class TestThread { public static void main(String[] args) { //共享数据放在了Count里面 Count count = new Count(... 阅读全文
posted @ 2013-12-19 14:39 E_star 阅读(2662) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示