-
G1 垃圾收集器之对象分配过程(转载)
原文出处:占小狼G1的年轻代由edenregion和survivorregion两部分组成,新建的对象(除了巨型对象)大部分都在edenregion中分配内存,如果分配失败,说明edenregion已经被全部占满,这时会触发一次younggc,回收edenregion的垃圾对象,释放空间,满足当前的分配需求。小对象G1默认启用了UseTLAB优化,创建对象(小对象)时,优先从TLAB中分配内存,如......1,012 0 2018-01-23 17:24
-
谈谈 Tomcat 请求处理流程(转载)
原文出处:Rainstorm建议结合《谈谈Tomcat架构及启动过程[含部署]》一起看!很多东西在时序图中体现的已经非常清楚了,没有必要再一步一步的作介绍,所以本文以图为主,然后对部分内容加以简单解释。绘制图形使用的工具是 PlantUML + VisualStudioCode + PlantUMLExtension本文对Tomcat的介绍以&nb......865 0 2018-01-19 09:57
-
深入 Spring Boot:怎样排查 expected single matching bean but found 2 的异常(转载)
原文出处:hengyunabc写在前面这个demo来说明怎么排查一个常见的springexpectedsinglematchingbeanbutfound2的异常。https://github.com/hengyunabc/spring-boot-inside/tree/master/demo-expected-single调试排查expectedsinglematchingbeanbutfoun......1,439 0 2018-01-19 09:50
-
面试必问的 CAS ,要多了解(转载)
原文出处:占小狼前言CAS(CompareandSwap),即比较并替换,实现并发算法时常用到的一种技术,Douglea大神在java同步器中大量使用了CAS技术,鬼斧神工的实现了多线程执行的安全性。CAS的思想很简单:三个参数,一个当前内存值V、旧的预期值A、即将更新的值B,当且仅当预期值A和内存值V相同时,将内存值修改为B并返回true,否则什么都不做,并返回false。问题一个n++的问题。......1,038 0 2018-01-19 09:42
-
jmap 命令的实现原理解析(转载)
原文出处:占小狼当服务发生GC问题时,一般会使用jmap工具进行分析,jmap工具很强大,所以有必要了解它的方方面面。jmap可以做什么?1、jmap-histo[:live]<pid>通过histo选项,打印当前java堆中各个对象的数量、大小。如果添加了live,只会打印活跃的对象。2、jmap-dump:[live,]format=b,file=<filename>&......842 0 2018-01-18 13:44
-
关于抓包工具的Charles 破解方法【任何版本都有效】
农成之前抓包一直是用fiddler,后面发现这个东西不是特别的好用,于是今天在研究微信的一个小程序跳一跳的时候,发现一个另外的一个比较好用的前端抓包工具,是国外的,针对的人群应该是ios的用户的,所以就想能不能不掏钱来搞个破解的版本,万能的天朝网友总会有各种各样的手段来完成这个。于是乎农成就找到了这个很nice的工具给大家分享一下,顺便也是备份一下吧。破解地址:https://www.zzzmod......1,088 0 2018-01-17 19:12
-
单点登录原理与简单实现(转载)
原文出处:凌承一一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏......933 0 2018-01-17 18:27
-
HashMap的工作原理(转载)
本文由ImportNew-唐小娟翻译自Javarevisited原文地址:http://www.importnew.com/7099.htmlHashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中......1,058 0 2018-01-17 18:24
-
Java Proxy 和 CGLIB 动态代理原理(转载)
原文出处:CarpenterLee动态代理在Java中有着广泛的应用,比如SpringAOP,Hibernate数据查询、测试框架的后端mock、RPC,Java注解对象获取等。静态代理的代理关系在编译时就确定了,而动态代理的代理关系是在编译期确定的。静态代理实现简单,适合于代理类较少且确定的情况,而动态代理则给我们提供了更大的灵活性。今天我们来探讨Java中两种常见的动态代理方式:JDK原生动态......950 0 2018-01-16 10:35
-
深入 Spring Boot:排查 @Transactional 引起的 NullPointerException(转载)
原文出处:hengyunabc写在前面这个demo来说明怎么排查一个@Transactional引起的NullPointerException。https://github.com/hengyunabc/spring-boot-inside/tree/master/demo-Transactional-NullPointerException定位NullPointerException的代码Dem......1,006 0 2018-01-16 10:32
-
如何有效地写算法题(转载)
原文出处:侯振宇这篇文章最早发在我团队的文档中。我的团队鼓励每个同学都在业余时间多做算法题,特别是新人。个人认为在编程能力的提升上比做sideproject更有用,对职业发展也是如此。当然出于兴趣做的sideproject另当别论。转到这里,希望对各位读者有用。如何有效地写算法题目的持续做算法题的目的仍然是自身能力提升。可以继续细化成三点:保持思维敏捷。非常重要,状态好才能保持对编程的热情。对基础......1,303 0 2018-01-16 10:28
-
一点解决版本冲突的应急思路、怎样在所有 jar 包文件中搜索冲突的方法?(转载)
原文出处:等你归去来maven是一个很好的项目管理工具,你可以轻松的定义一个引用,从而达到使用别人写好的库的作用。且maven可以轻松地和jenkins配合,从而使打包部署变得更容易。但是也因为这样,我们变得更傻瓜了,以致于有时候都忘了一些原始的基础的方法了,当然这不是本文的目的,本文的目的在于,如何解决一些maven带来的冲突问题。问题1:jenkins打包失败了,导致我无法安装代码到测试环境,......825 0 2018-01-16 10:25
-
Java架构师必会的技能(你都会了吗?)
我把它分为了五大专题工程化专题工程化专题 git git安装使用git日常使用:fetch/pull/push/revert/rebase git分支管理git flowJenkins多套环境(test/pre/production)系统自动化发布Jenkins自动发布到远程主机MavenMaven私服搭建setting.xml文件剖析pom.xml详解Ma......905 0 2018-01-12 19:14
-
技术贴!成为Java架构师必须要懂的知识
Java架构师,应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力和提出解决方案能力了。小华君就跟大家来简要地说说吧。如果你是想成为Java架构师,那么你首先要是一个Java高级攻城狮。也就是说,基础必须牢固,对Java的了解全面而且深入。熟练使用各种框架,并知道它......1,099 0 2018-01-12 19:08
-
(面试感悟)一名3年工作经验的程序员应该具备的技能
前言因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章。这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做java开发的,因此有一部分内容也是专门面向咱们java程序员的。简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成功......974 0 2018-01-12 18:57