- 博客(55)
- 资源 (4)
- 收藏
- 关注
转载 Java虚拟机学习 - 类加载机制
转自:http://blog.csdn.net/java2000_wl/article/details/8040633类加载机制 JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验
2017-03-10 12:52:11
452
转载 2017最新Java基础知识面试笔试整理--jvm基础篇
转自:http://blog.csdn.net/chenbaige/article/details/57115858(1)内存模型以及分区,需要详细到每个区放什么。堆:Java虚拟机管理内存中最大的一块,线程共享区域。所有对象实例和数组都在堆上分配内存空间。栈:线程私有,每个线程都会创建一个虚拟机栈,生命周期与线程相同。每个方法被执行的时候就会创建一个栈帧,用于存储局部变量表,
2017-03-10 12:43:23
845
转载 2017最新Java基础面试笔试知识整理--java基础篇
转自:http://blog.csdn.net/chenbaige/article/details/57107337(1)Object有哪些公用方法protected Object clone()private native Object internalClone()public boolean equals(Object o)protected void finalize()
2017-03-10 12:30:05
564
转载 哪个对象才是锁?
转载自:http://ifeve.com/who-is-lock/我们都知道当一个线程试图访问同步代码块时,它首先必须得到锁,退出或抛出异常时必须释放锁。这些基础也许大家都知道,但是很多人还是搞不清哪个对象才是锁?如果你能正确回答以下问题,那么才算你彻底搞明白了哪个对象才是锁?静态同步方法问题如下代码是两个静态同步方法Class A{ public static
2017-03-05 19:36:44
632
转载 深入理解java异常处理机制
转自:http://blog.csdn.net/hguisu/article/details/61556361. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果
2017-02-20 15:37:48
613
转载 面试的角度诠释Java工程师(二)
转自:http://www.importnew.com/23557.html续言:相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会说它们是一样的?简单思考一下……程序:程序是由某语言的工程师用一段段代码逻辑连贯出来的,或许当事人是看得懂滴,但是问题是你要让项目经
2017-02-19 20:35:33
621
转载 面试的角度诠释Java工程师(一)
转自:http://www.importnew.com/23549.html前言:我相信每一个程序员都是为了生活而努力着的。很多人因为兴趣,从此踏上了这条‘烧脑大行动’的金桥;也有很多人因为梦想和执着,奋不顾身融入这个职业;还有很多人因为被现实逼得太无奈,不得不为自己、为家人、为未来谋这么一条坎坷的路。这里,我不去评价什么,再说我也没有资格去评价啊。言归正传,下面我
2017-02-19 20:31:21
1733
转载 阿里面试回来,想和Java程序员谈一谈
转自:http://www.importnew.com/22056.html#comment-541171引言其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。
2017-02-19 20:14:45
2189
1
转载 JDBC操作数据库基本步骤
转自:http://jokerlinisty.iteye.com/blog/21983991、JDBC概念 1)从物理结构:JDBC是Java语言访问数据库的一套接口(API)集合。 2)从本质上:JDBC是调用者(开发人员)和实现者(数据库厂商)之间的协议。 3)JDBC的实现由数据库厂商以驱动程序的形式提供。 4)开发人员借助JDBC的API,就
2017-02-17 14:51:36
2099
1
转载 理解并发编程的几种"性" -- 可见性,有序性,原子性
转自:http://blog.sina.com.cn/s/blog_4adc4b090102whzx.html这篇的主题本应该放在最初的几篇,讨论的是并发编程最基础的几个核心概念,但是这几个概念又牵扯到很多的实际技术,比如Java内存模型,各种锁的实现,volatile的实现,原子变量等等,每一个都可以展开写很多,尤其是Java内存模型,网上已经能够有很几篇不错的文章,暂时不想
2017-02-16 11:08:41
669
转载 深入分析Volatile的实现原理
本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/ftf-java-volatile引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改
2017-02-16 10:17:18
769
转载 解密ThreadLocal
转自:http://qifuguang.me/2015/09/02/%5BJava%E5%B9%B6%E5%8F%91%E5%8C%85%E5%AD%A6%E4%B9%A0%E4%B8%83%5D%E8%A7%A3%E5%AF%86ThreadLocal/相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一
2017-02-15 16:07:03
393
转载 深入理解ThreadLocal
转自:https://my.oschina.net/clopopo/blog/149368学习一个东西首先要知道为什么要引入它,就是我们能用它来干什么。所以我们先来看看ThreadLocal对我们到底有什么用,然后再来看看它的实现原理。 ThreadLocal如果单纯从名字上来看像是“本地线程"这么个意思,只能说这个名字起的确实不太好,很容易让人产生误解,ThreadLocalVa
2017-02-15 12:39:04
453
转载 Java虚拟机学习 - 垃圾收集器
转自:http://blog.csdn.net/java2000_wl/article/details/8030172HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个
2017-02-15 10:23:50
219
转载 JVM调优总结(十一)-反思
转自:http://pengjiaheng.iteye.com/blog/558619垃圾回收的悖论 所谓“成也萧何败萧何”。Java的垃圾回收确实带来了很多好处,为开发带来了便利。但是在一些高性能、高并发的情况下,垃圾回收却成为了制约Java应用的瓶颈。目前JDK的垃圾回收算法,始终无法解决垃圾回收时的暂停问题,因为这个暂停严重影响了程序的响应时间,造成拥塞或堆积。这也是后
2017-02-15 10:15:07
377
转载 JVM调优总结(十)-调优方法
转自:http://pengjiaheng.iteye.com/blog/552456JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 Vis
2017-02-14 17:16:05
277
转载 JVM调优总结(九)-新一代的垃圾回收算法
转自:http://pengjiaheng.iteye.com/blog/548472垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时
2017-02-14 16:47:28
256
转载 JVM调优总结(八)-典型配置举例2
转自:http://pengjiaheng.iteye.com/blog/545015常见配置汇总堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:Survivo
2017-02-14 16:17:37
287
转载 JVM调优总结(七)-典型配置举例1
转自:http://pengjiaheng.iteye.com/blog/538582以下配置主要针对分代垃圾回收算法而言。 堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windo
2017-02-14 16:12:41
265
转载 JVM调优总结(六)-分代垃圾回收详述2
转自:http://pengjiaheng.iteye.com/blog/528034分代垃圾回收流程示意 选择合适的垃圾收集算法串行收集器 用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-
2017-02-14 15:02:56
289
转载 聊聊JVM的年轻代
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕死的,如果分代的话,我们把新创建的对象放到某一地方,当GC的时候先把这块存“朝生夕死”对象的区域进行回收,这样就会腾出
2017-02-14 14:29:27
260
转载 JVM调优总结(五)-分代垃圾回收详述1
转自:1.http://pengjiaheng.iteye.com/blog/5240242.http://ifeve.com/jvm-yong-generation/为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。其实不分代完全可以,分代的唯一理由就是优化GC性能,提
2017-02-14 14:24:42
306
转载 JVM调优总结(四)-垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进
2017-02-14 13:18:06
280
转载 JVM调优总结(三)-基本垃圾回收算法
转自:http://pengjiaheng.iteye.com/blog/520228可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除
2017-02-14 11:17:40
338
转载 JVM调优总结(二)-一些概念
转自:http://pengjiaheng.iteye.com/blog/519471Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object
2017-02-14 09:46:57
229
转载 JVM调优总结(一)-- 一些概念
转自:http://pengjiaheng.iteye.com/blog/518623数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,lo
2017-02-14 09:25:23
235
转载 如何避免死锁
转自:http://www.cnblogs.com/cxd4321/archive/2012/05/28/2521542.html什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分
2017-02-13 13:25:42
532
转载 深入理解 Java 垃圾回收机制
转自:http://www.cnblogs.com/andy-zcx/p/5522836.html一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效
2017-02-13 10:19:51
212
转载 数据库索引类型及实现方式
转自:http://www.cnblogs.com/barrywxx/p/4351901.html1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她(二分查找),则与在表中搜索所有的行相比,索引有助于更快地获取信息。2
2017-02-13 09:47:40
568
转载 [破除迷信]java.util.ArrayList在foreach循环遍历时可以删除元素
ArrayList是java开发时非常常用的类,常碰到需要对ArrayList循环删除元素的情况。这时候大家都不会使用foreach循环的方式来遍历List,因为它会抛java.util.ConcurrentModificationException异常。比如下面的代码就会抛这个异常:import java.util.ArrayList;import java.util.List;pub
2017-02-12 21:26:36
6888
转载 我们究竟要用Docker做什么
转自:http://www.tuicool.com/articles/YZZVfu1.摘要 前一阵微博风风火火的用大规模docker集群扛过了春节峰值。最近跟不少人聊起接下来要做什么,总是有一种能做的很多,但是能做的又很少的感觉。想了一下原因,感觉还是对docker、docker的生态系统、应用和集群没有划清楚的界限,docker并不是很多问题的最终解决方案,只是解
2017-02-07 23:38:19
11579
转载 为什么要使用 Docker?
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10
2017-02-07 23:33:22
498
转载 sandboxie (沙箱机制)
转自:http://baike.baidu.com/link?url=jRWOO0X2SB3fSx9xnQq0LzdX69S-KeiOYv0wtScas2SZYUlXT5i1GuGUZnxdqlRvcF4yV6n6vhS-6kdij8_7-YvpvAva-AUJ_fbPCcxESMi沙盘英文名sandbox(sandboxie),也叫沙箱,顾名思义可以看做是一种容器,里面所做的一切都可
2017-02-07 14:49:05
3172
转载 关于Unix哲学
转自:http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html作者: 阮一峰日期: 2009年6月18日先讲两个很老的小故事。第一个故事。有一家日本最大的化妆品公司,收到了用户的投诉。用户抱怨买来的肥皂盒是空的。这家公司为了防止再发生这样的事故,很辛苦地发明了一台X光检查器,能够透视每
2017-02-07 13:27:57
322
转载 java正则表达式特殊构造(非捕获)
Special constructs (named-capturing and non-capturing)(?X) X,as a named-capturing group(?:X) X, as a non-capturing group(?idmsux-idmsux) Nothing, but turns match flags i d m s u x on
2017-01-12 15:59:02
735
转载 正则基础之——捕获组(capture group)
转自:http://blog.csdn.net/lxcnn/article/details/41461481 概述1.1 什么是捕获组捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用。当然,这种引用既可以是在正则表达式内部,也可以是在正则表达式外部。捕获组有两种形式,一种是普通捕获组,另一种是命名捕获组,通常所说
2017-01-12 13:41:53
3137
转载 解惑正则表达式中的捕获
转自:http://www.cnblogs.com/yakun/p/3795589.html读jQuery源码,其中不可避免的要弄明白正则表达式,在此对非捕获组(non-capturing)进行了一些梳理。关于捕获的一些主要用法(?:X)(?=X)(?(?!X)(?捕获要书明白捕获,就要先从分组开始。重复单字符我们可以使用限定符,如果重复字符串,用什么呢
2017-01-12 13:34:40
513
转载 非常详细的rsyslogd & logrotate配置文件解析
rsyslog服务和logrotate服务======================================================================rsyslog 是一个 syslogd 的多线程增强版。现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了rsyslog服务和logrotate服务=====
2017-01-09 16:42:50
2908
转载 logrotate机制和原理
转自:http://blog.lightxue.com/how-logrotate-works/日志实在是太有用了,它记录了程序运行时各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。可惜磁盘的空间是有限的,就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。为了节省空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久远的日志文件。这就是
2017-01-09 15:10:56
1863
1
转载 How to use logrotate to manage log files in Linux
Log files contain useful information about what is going on within the system. They are often inspected during troubleshooting processes or as part of server performance analysis. For a busy server, l
2017-01-09 11:13:52
464
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人