随笔分类 - java面试题分析
java面试题分析
摘要:垃圾回收机制具有的特征 垃圾回收机制只负责回收堆内存的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源) 程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行。当对象永久地失去引用后,系统就会在合适的时候回收它所占的内存 在垃圾回收机制回收任何对象之前,总会先调用它的finalize
阅读全文
摘要:参考:https://www.cnblogs.com/zwgblog/p/5971455.html
阅读全文
摘要:参考: https://www.cnblogs.com/graphics/archive/2010/06/21/1752421.html
阅读全文
摘要:linux日志文件说明 一般来说linux的系统日志都放在/var/log目录下面 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信息/var/log/maillog 与邮件相关的日志信息/
阅读全文
摘要:参考: https://blog.csdn.net/u013087513/article/details/77899412 https://blog.csdn.net/zhaoliang831214/article/details/50977150 https://blog.csdn.net/sin
阅读全文
摘要:JDK1.8的ConcurrentHashmap 利用 ==CAS + synchronized== 来保证并发更新的安全 底层使用==数组+链表+红黑树==来实现
阅读全文
摘要:引用: https://www.cnblogs.com/zhanht/p/5431273.html 一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking
阅读全文
摘要:首先介绍一下memcache https://www.cnblogs.com/xrq730/p/4948707.html 区别: 1.Redis中,并不是所有的数据都一直存储在主内存中的,这是和MemCache相比一个最大的区别。 2.memcache只支持k-v结构,redis支持5中数据类似,字
阅读全文
摘要:引用博文: https://blog.csdn.net/nalanmingdian/article/details/77800355 按照性质分类: 1. 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请
阅读全文
摘要:1. jps 显示系统中所有Hotspot虚拟机进程 2. jinfo 显示虚拟机的配置信息,可观察进程运行环境参数,包括Java System属性和JVM命令行参数 3. jstack 显示虚拟机的线程栈信息,用于生成当前JVM的所有线程快照 4. jstat 实时显示本地或远程JVM进程中类装载
阅读全文
摘要:Timer类的实现原理 请参考博文:https://blog.csdn.net/jijianshuai/article/details/78409381 Timer的两大缺陷: 1. Timer底层是使用一个单线来实现多个Timer任务处理的,所有任务都是由同一个线程来调度,所有任务都是串行执行,意
阅读全文
摘要:IO阻塞问题,请参考一下博文: https://blog.csdn.net/yyxyong/article/details/62894064 resdLine 如果不指定buffer大小,则readLine()使用的buffer有8192个字符。在达到buffer大小之前,只有遇到"/r"、"/n"
阅读全文
摘要:public static void main(String[] args) { HashMap map = new HashMap(); map.put("1", "M"); map.put("2", "J"); map.put("3", "X"); //通过Map.keySet遍历key和value ...
阅读全文
摘要:多线程原理:相当于玩游戏机,只有一个游戏机(cpu),可是有很多人要玩,于是,start是排队!等CPU选中你就是轮到你,你就run(),当CPU的运行的时间片执行完,这个线程就继续排队,等待下一次的run()。 调用start()后,线程会被放到等待队列,等待CPU调度,并不一定要马上开始执行,只
阅读全文
摘要:ThreadLocal提供了get与set等访问接口或方法,这个方法为每个使用该变量的线程都存有一份独立的副本,因此get总是返回由当前执行线程在调用set时设置的最新值。 ThreadLocal对象经常用于防止对可变的单实例变量(Singleton)或全局变量进行共享。从概念上看,你可以将Thre
阅读全文
摘要:停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。在java中有以下3种方法可以终止正在运行的线程: 使用退出标志,使线程
阅读全文
摘要:引用: http://kgd1120.iteye.com/blog/1293633 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 for
阅读全文
摘要:一般常用格式化类DateFormat和SimpleDateFormat的format(Date time)方法进行格式化日期.
阅读全文
摘要:SpingFrameWork的ThreadPoolTaskExecutor是辅助JDK的ThreadPoolExecutor的工具类,它将属性通过JavaBeans的命名规则提供出来,方便进行配置。接下来就讲讲ThreadPoolTaskExecutor的使用。 最常用的方式就是作为BEAN注入到容
阅读全文
摘要:ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务 参考文档: http://blog.csdn.net/xinguan1267/article/details/38422149
阅读全文

浙公网安备 33010602011771号