Quantcast

有了杰出人物而不爱惜的民族是很可悲的

要“割掉方方舌头”的女孩,你被蛋壳驱赶大家都笑了

袁伟时:中国的奴性和戾气从哪里来?

“芯片大学”虚晃一枪,人才断层问题不能跑步解决

两大中国首富双双被重挫-释放信号强烈

民间帝王赖小民和性感女星舒淇与许晴

深度解读 | 姜文《让子弹飞》

【连车新闻】全力攻关一昼夜,确保运输三十站

Facebook Twitter RSS

分享到微信朋友圈

点击图标下载本文截图到手机
即可分享到朋友圈。如何使用?

自由微信安卓APP发布,立即下载!

Java技术栈

2018年12月20日

重出江湖:成为 Java 架构师四个阶段视频教程!

第三阶段主要注重架构实践:从高并发高级群分布式、高可用可扩展、Java高并发系统架构实例、高并发数据库设计、MySQL主从复制和高可用集群、海量数据库架构设计、BAT
2018年11月12日

2018的初冬,派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,用来回来这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。
2018年11月9日

谈谈我在阿里、百度这8年的感悟与经验

首先,看看我在阿里、百度,我面试别人都看哪些?相信你看完以后,按照下面的来,复制我下面讲的,你绝对可以轻松进百度、阿里、腾讯!我在阿里的时候,就是这样面试的!
2018年8月21日

未来 3 年,什么样的技术人,最有机会年赚 100万?

在中国成功的人太多了,要么你就是他们中的一员,要么你就要用力去跟紧他们的步调!虽然现在的你可能还是个默默无闻的技术人,但你仍然可以通过自己的知识储备变现——去实现自己的人生理想。
2018年8月7日

成为架构师的十阶段学习资料!

点击左下方的"阅读原文",加入我们的"知识星球",可获取十阶段资料早日成为架构师,还有更多海量学习资料都等你来解锁,我们是认真的!!
2018年3月18日

2018良心干货,成为架构师四阶段资料免费领取。

关注下面的微信公众号:Java技术栈,并在公众号中回复:444。不需要分享,100%无限制领取,全网最良心的技术公众号。
2018年1月11日

新年重磅!2TB,成为架构师的四个阶段资料分享

也许你现在已经工作好些年了,大把的年轻还干着初级的活。或许你已经是中高级开发、架构师的岗位,但实际工作能力却衬托不起你日益增加的年龄或者工作职责而日益发愁,你们有没有这种忧虑或者烦恼呢?
2017年12月30日

【分享】Dubbo原理解析视频教程

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2017年12月28日

个人珍藏最全Spring Boot全套视频教程

不在微信群的用户,想了解微信群及更多福利,可在公众号菜单中回复"wx",或直接点击公众号菜单中的微信群菜单,微信群人数有限,加入需从速。
2017年12月19日

进阶Java架构师必看的15本书

应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该Web应用,完善相关细节,并对已有代码进行优化;然后基于传统Servlet框架搭建一款轻量级Java
2017年12月16日

2018年必看:关于区块链技术的10本书

这本书将带领你超跃货币和智能合约,论证区块链如何能成为继大型机、个人电脑、互联网和移动/社交网络后的第五个颠覆性计算机范式。一个钢筋水泥为标志的银行信用大厦,正在被一个数据为土壤的区块链信用所取代。
2017年10月16日

2017年,Java程序猿10本经典好书推荐

这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java
2017年9月19日

高级Java必看的10本书

本书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。
2017年9月3日

Java架构师必看的10本书

本书新增了淘宝在无线端的应用实践,包括:CDN动态加速、多终端化改造、多终端Session统一,以及在大流量的情况下,如何跨越性能、网络和一个地区的电力瓶颈等内容,并提供了比较完整的解决方案。
2017年8月21日

最全 MyBatis 核心配置文件总结,速度收藏了~

settings是MyBatis中最复杂,也是最重要的内容之一。当然这里说的复杂并不是说配置方式复杂,而是settings能配置的东西非常多,一些很核心的功能都是通过settings标签配置的。
2020年11月10日

去了两家外包公司,颠覆了我的认知!

因为管理一大票的员工本来就是一个长期烧钱且风险很大的事情,人多了有事情做有效益还好,如果没事情做又不赢利,这票人都要可能要随着项目的结束而解散,这也是对员工不负责的表现(这也是外包公司的痛点所在)。
2020年10月31日

Java 中的 3 个双引号是什么语法?Java 15 刷新你的认知!

Blocks(文本块)远比想象中要难很多,没想到一个文本块这么多细节,文中只是对文本块作了一个部分总结,并不是文本块的全部内容,反正暂时也用不到,大家简单了解即可。
2020年10月26日

Java 8 中的接口和抽象类到底有啥区别?

在我们面试时也会经常遇到面试官问抽象类和接口的区别是什么,大部人肯定会说:接口中的所有方法都是抽象的,抽象类中的方法除了抽象方法还可以写实现方法,如果你还这样回答那你就
2020年10月19日

Java 8 有多牛逼?打破一切你对接口的认知!

之前,比如要在一个接口中添加一个抽象方法,那所有的接口实现类都要去实现这个方法,不然就会编译错误,而某些实现类根本就不需要实现这个方法也被迫要写一个空实现,改动会非常大。
2020年10月14日

IntelliJ IDEA 调试 Java 8 Stream,实在太香了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年10月8日

面试了一个 39 岁程序员,我有点慌……

中的新特性,在接口中新增默认方法或者静态方法,可以点击这里查看我三年前写的这篇文章。三年前写的比较粗,最近我又详细梳理了一篇,关注公众号Java技术栈第一时间推送。
2020年9月27日

我把公司 10 年老系统改造 Maven,真香!!

在依赖转换过程中,如果一个依赖又依赖了其他依赖,可以直接引用父依赖即可,如在老项目中存在:poi、poi-ooxm、poi-ooxml-schemas
2020年9月23日

刚发工资给女朋友转账,引发了分布式事务!

一致性:这里的一致性是指数据的强一致,也称为线性一致性。是指在分布式环境中,数据在多个副本之间是否能够保持一致的特性。也就是说对某个数据进行写操作后立马执行读操作,必须能读取到刚刚写入的值。(any
2020年9月22日

Java 15 正式发布, 14 个新特性,刷新你的认知!!

https://www.oracle.com/java/technologies/javase/15all-relnotes.html
2020年9月17日

终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

原来是项目代码的提交人邮箱和我提交许可证申请的邮箱不一致造成的,既然知道原因了就好办了,我把所有历史提交人的邮箱全部改成了提交申请时候的邮箱,然后再邮件回复了
2020年9月14日

MyBatis 动态 SQL(认真看看, 以后写SQL就爽多了)

System.out.println(ToStringBuilder.reflectionToString(studentsByNameAndSex.get(i),
2020年9月11日

免费获取 IntelliJ IDEA 激活码的 6 种方式!

用的比较多的是用教育邮箱,这个注册比较方便,也不能验证是否学生身份,所以国内很多程序员冒充学生用教育邮箱注册获取激活码,这也是有限的获取许可证正规途径之一。
2020年9月7日

我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

xxxShippingInfo;}上面只是第一层示例,要拿到物流信息,要依次封装四层对象,到真正获取物流信息时要避免空指针,就需要判断四层才能拿到,如示例所示:
2020年9月3日

Spring Boot 学习笔记,这个太全了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年8月26日

一条 SQL 引发的事故,同事直接被开除!!

这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份。本想通过程序先查询查出来然后批量插入。但xxx觉得这样有点慢,需要耗费大量的网络I/O,决定采取别的方法进行实现。
2020年8月26日

吊打 Tomcat ,Undertow 性能很炸!!

https://docs.spring.io/spring-boot/docs/2.3.2.RELEASE/reference/htmlsingle/#server-properties
2020年8月24日

国人开源了一款超好用的 Redis 客户端,真香!!

整个客户端界面看起来是十分清爽、简洁干净、快速,满足各方面需求,也没有出现崩溃闪退情况,整体用的非常爽,真香,是个好工具,推荐大家使用。
2020年8月19日

国人开源了一款小而全的 Java 工具类库,厉害啊!!

最后,也感谢为开源作出贡献的程序员们,如果有用得着的,大家也不要重复造轮子了!关注公众号Java技术栈在后台回复工具可以获取我往期推荐的真香工具。
2020年8月13日

盘点 35 个 Apache 顶级项目,我拜服了…

Dubbo,做分布式、微服务的程序员朋友们应该都再清楚不过了,它最初是由阿里巴巴开源的分布式服务框架(RPC),一段时间停止维护后,后来又重启维护并捐献给了
2020年8月10日

重磅!《Java开发手册(嵩山版)》最新发布

之前面试我经常问求职者,既然写了前后端分离开发,那对于前后端都有些什么规范呢,大多数人说不上来,现在阿里这个规范终于来了。面试内容可以关注公众号Java技术栈回复面试进行阅读。
2020年8月8日

Java 强、弱、软、虚,你属于哪一种?

10];System.out.println(softReference.get());我定义了一个软引用对象,里面包裹了byte[],byte[]占用了10M,然后又创建了10Mbyte[]。
2020年8月7日

打破你的认知!Java空指针居然还能这样玩,90%人不知道…

这个在最新的《阿里巴巴开发手册》中也提到了,链接里面举了三目运算符拆箱时的空指针问题,没看过的可以点进去看,这里就不具体展开了。获取这份最新开发手册,请在公众号Java技术栈回复手册。
2020年8月6日

常用 Maven 插件大全(速度收藏)

maven-dependency-plugin还有很多目标帮助你操作依赖文件,例如dependency:copy-dependencies能将项目依赖从本地Maven仓库复制到某个特定的文件夹下面。
2020年8月4日

Mybatis trim 标签的 2 个妙用!

注:如果你有兴趣的话,也可以研究下Mybatis逆向工程生成的Mapper文件,其中也使用了trim标签,但结合了foreach、choose等标签,更多的是牵扯到Criterion的源码研究。
2020年7月30日

同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年7月29日

Spring Boot 太狠了,一次性发布了 3 个版本!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年7月25日

盘点 6 个被淘汰的 Java 技术,它们都曾经风光过!

没有用了,不是所有系统都是前后端分离的,比如说一个只有两三个页面的动态系统,JSP、Servlet足以搞定,你总不能上页面模板引擎、各种框架,或者再上前后端分离吧?
2020年7月21日

拥抱 Java 8 并行流吧,速度飞起!

Q。一般情况下网络耗时都是比较大的。因此该操作就比较适合并行处理。当然当类型数目大于核心数时,该操作的性能提升就会打一定的折扣了。更好的优化方法在日后的博客会为大家奉上
2020年7月20日
2020年7月15日

Spring Boot 如何快速集成 Redis?

org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration
2020年7月13日

MySQL 宣布停止使用 master、slave!

最近承诺要进行类似更改并清理其技术术语的一些公司和开源项目包括有:GitHub、微软、LinkedIn、Ansible、Splunk、OpenZFS、OpenSSL、JP
2020年7月13日

Spring Cloud 2020 版本重大变革,更好的命名方式!

https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released
2020年7月11日

Java 14 祭出增强版 switch,真香!!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年7月8日

Mybatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!

以上就是Mybatis的sql注入审计的基本方法,我们没有分析的几个点也有问题,新手可以尝试分析一下不同的注入点来实操一遍,相信会有更多的收获。当我们再遇到类似问题时可以考虑:
2020年7月7日

公司来了个新同事不会用 Lombok,还说我代码有问题!

provided这个不会引起问题,因为它是代码的一部分,而且在项目一开始的时候就引入进去了。
2020年6月30日

Tomcat 又爆出高危漏洞!!Tomcat 8.5 ~ 10 中招…

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年6月27日

你还在使用 try-catch-finally 关闭资源?

com.shuwen.CloseResourceIn7.main(CloseResourceIn7.java:12)只打印了最后出现的异常【异常屏蔽】这样会给开发人员排查错误带来一定的困难
2020年6月26日

最新!Dubbo 远程代码执行漏洞通告,速度升级

存在反序列化漏洞,攻击者可以通过RPC请求发送无法识别的服务名称或方法名称以及一些恶意参数有效载荷,当恶意参数被反序列化时,可以造成远程代码执行。
2020年6月25日

玩大发了,Tomcat 8.5 升级有坑…

这个方法是获取目前下的所有文件,它不能保证按指定的顺序返回结果,特别是,不能保证按字母顺序返回。为什么本地环境可以,可能是刚好是按字母排序的了。
2020年6月24日

打破你的认知,数字除以 0 一定会崩溃吗?

https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3
2020年6月22日

2020 最新 Java 面试题出炉!(带全部答案)

集合、JVM、多线程、Spring全家桶、Redis、Dubbo、Netty、Elasticsearch、大数据、阿里巴巴等大厂面试题等。
2020年6月20日

​阿里为什么不用 Zookeeper 做服务发现?

与服务提供者机器之间的TCP长链接活性探测正常的时候,该服务就是健康的么?答案当然是否定的!注册中心应该提供更丰富的健康监测方案,服务的健康与否的逻辑应该开放给服务提供方自己定义,而不是一刀切搞成了
2020年6月19日

Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!

https://spring.io/blog/2020/06/08/migrating-spring-boot-s-build-to-gradle
2020年6月17日

Spring Boot 2.3.1 发布,带来了 10 个新特性!

https://spring.io/blog/2020/06/12/spring-boot-2-3-1-available-now
2020年6月13日

写了个全局变量的bug,被同事们打脸!!!

最近有个客户反馈某些数据混乱问题,看代码死活看不出什么问题,很诡异,再仔细看代码,原来是一个全局变量的问题,导致在并发情况下出现了线程不安全的问题,事后被同事们打脸!!!
2020年6月12日

为什么 Redis 单线程能达到百万+QPS?

多路复用程序监听到其准备就绪后,将该事件压入队列中,由文件事件分派器获取队列中的事件交于连接应答处理器工作处理,应答客户端建立连接成功,同时将客户端
2020年6月10日

推荐两个牛逼的 Java 公众号,你都关注了吗?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年6月6日

求求你们了,别再写满屏的 try catch 了!!

校验异常1:http://localhost:10000/licence/list?licenceType=getLicencesLicenceParam捕获参数绑定校验异常licence
2020年6月6日

微信、淘宝类扫码登录是怎么实现的?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年6月5日

Fastjson 又出高危漏洞,可远程执行代码!

截止到漏洞通告发布,官方还未发布1.2.69版本,360CERT建议广大用户及时关注官方更新通告,做好资产自查,同时根据临时修复建议进行安全加固,以免遭受黑客攻击。
2020年6月1日

我天!xx.equals(null) 是什么骚操作??

写程序这么多年,第一次看这样的写法,当时我就提出质疑了,同事拍着胸脯和我说,有个银行的请求参数必须得这么写,不然就验证不了。
2020年6月1日

Spring Boot 2.3 优雅关闭新姿势,真香!

org.springframework.boot.autoconfigure.context.LifecycleProperties
2020年5月29日

Java 14 祭出代码简化神器,Lombok 要被干掉了?

"数据载体",可以告别传统的低效的生成代码模板,现在还是预览特性,栈长我也会持续跟进,公众号第一时间推送,如果你也喜欢研究新技术,有兴趣的可以微信搜索
2020年5月27日

JVM 怎么判断对象已经死了?

而Java堆和方法区不一样,一个接口中的多个实现类的内存可能不一样,每个方法的多个分支需要的内存也可能不一样,我们只有在程序运行时候才知道会创建哪些对象,这部分内存的分配和回收都是动态的。
2020年5月26日

Dubbo 2.7.7 发布,FastJson 升级了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年5月24日

一周面试了 30 人,通过 2 人,面试面到我心态爆炸…

学历问题有很多因素吧,有的是家庭经济因素,有的是年轻不懂事,个人不上进因素,总之,有机会的话,建议大家一定要好好读书,虽然读书短期不会有太大收益,也不一定能发财,但对于将来的仕途是百利而无一害的。
2020年5月24日

99 道 Java 多线程面试题,看完我跪了!

obj.notifyAll();}55.ThreadLocal主要解决每一个线程想绑定自己的值,存放线程的私有数据。56.ThreadLocal使用获取当前的线程的值通过get(),设置set(T)
2020年5月20日

来,教你去掉了烦人的 !=null

1)assert语句,你可以把错误原因放到assert的参数中,这样不仅能保护你的程序不往下走,而且还能把错误原因返回给调用方,岂不是一举两得。(原文介绍了assert的使用,这里省略)
2020年5月19日

程序员面试 10 大潜规则,千万不要踩坑!

但是面试官可能是想知道:一般在业务中缓存什么样的数据,为什么要缓存这些数据,缓存数据如何保证实时性,如果缓存失效会对正常业务流程有什么影响,为什么要选择redis,redis的实现原理等等;
2020年5月17日

关于序列化的 10 几个问题,你顶得住不?

序列化过程的一个简单问题。如果尝试序列化实现了可序列化接口的类的对象,但该对象包含对不可序列化类的引用,则在运行时将引发不可序列化异常
2020年5月14日

Struts2 为什么被淘汰?自己作死!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年5月14日

阿里巴巴为什么要禁止使用存储过程?

存储过程在很多场景时有其优势,比如性能。但对于业务逻辑的通用方法,非常不推荐将其写在存储过程中,代码复用、扩展与客户端语言比,相差甚远。也许终究能实现,但代价与风险比客户端语言要高,得不偿失。
2020年5月13日

我把 Spring Boot Banner 换成了美女背景后……

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年5月12日

一次 MySQL 索引面试,被面试官怼的体无完肤!

全文索引:对文本的内容进行分词,进行搜索。(MySQL5.6及以后的版本,MyISAM和InnoDB存储引擎均支持全文索引。)推荐看下:MySQL 索引B+树原理,以及建索引的几大原则。
2020年5月11日

Java 处理 Exception 的 9 个最佳实践!

com.stackify.example.TestExceptionHandling.logAndThrowException(TestExceptionHandling.java:63)
2020年5月10日

百度开源的 71 个项目,太牛逼了!

的前端应用开发平台,是一个企业级前端应用的开发平台,提供了常用的项目管理工具、包管理工具、调试工具、构建工具、代码生成工具、代码检测工具等一系列开发时的支持,并允许用户自定义自己的扩展。
2020年5月9日

Redis 到底是单线程还是多线程?我要吊打面试官!

Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。
2020年5月8日

图解 Spring 循环依赖,写得太好了!

BeanCurrentlyInCreationException(beanName);}原因很好理解,创建新的A时,发现要注入原型字段B,又创建新的B发现要注入原型字段A...这就套娃了,
2020年5月6日

常用的 7 款 MySQL 客户端工具,你值得拥有!

phpMyAdmin是最常用的MySQL维护工具,是一个用PHP开发的基于Web方式架构在网站主机上的MySQL管理工具,支持中文,管理数据库非常方便。不足之处在于对大数据库的备份和恢复不方便。
2020年5月6日

重磅!!Redis 6.0.0 已发布,有史以来改变最大的版本

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年5月3日

7 个棘手的 JavaScript 面试题!

原文:dmitripavlutin.com/simple-but-tricky-javascript-interview-questions作者:Dmitri
2020年4月30日

Spring Boot 打包插件,真是太有用了!

https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/repackage-classifier.html
2020年4月30日

为什么 Java 不支持类多重继承?

我发现这个问题很难回答,因为答案可能不会让面试官满意,在大多数情况下,面试官正在寻找答案中的关键点,如果你提到这些关键点,面试官会很高兴。
2020年4月29日

推荐一款 IDEA 生成代码神器,写代码再也不用加班了!

Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。
2020年4月28日

如何不重启热更新线上 Java 代码?

的信息sysprop——查看和修改JVM的系统属性sysenv——查看JVM的环境变量getstatic——查看类的静态属性1)打印前五名最消耗CPU的线程,可以及时找到CPU过高的代码位置
2020年4月28日

用 float 存储金额,老板说损失从工资里扣!

通过规约化将小数转为规约形式,类似科学计数法,就是保证小数点前面有一个有效数字。在二进制里面,就是保证整数位是一个1。110.10011001规约化为:1.1010011001*2^2。
2020年4月26日

1.5W 字搞懂 Spring Cloud,太牛了!

这个很简单,就是我们可以在前面加一个统一的前缀,比如我们刚刚调用的是localhost:9000/consumer1/studentInfo/update,这个时候我们在yaml配置文件中添加如下。
2020年4月25日

重磅!阿里发布《Java开发手册(泰山版)》

更多的请阅读完整版本,栈长看完,觉得干货满满,Java程序员以后写代码越来越规范了。栈长所在公司的Java开发规范也大量参考了阿里的Java开发手册,非常有帮助。
2020年4月24日

HashMap 面试 21 问,这次要跪了!

之所以选择红黑树是为了解决二叉查找树的缺陷,二叉查找树在特殊情况下会变成一条线性结构(这就跟原来使用链表结构一样了,造成很深的问题),遍历查找会非常慢。推荐:面试问红黑树,我脸都绿了。
2020年4月23日

分布式与集群的区别到底是什么?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年4月23日

Java 14 来势汹汹,这回让空指针无处遁形!!

Test.main(Test.java:18)注意:在同一行上显示异常类型、异常消息会导致行很长,所以为了保持可读性,会在第二行显示详细异常信息。
2020年4月22日

为什么 String 是不可变的?

不是不可变的,这将导致严重的安全威胁,我的意思是有人可以访问他有权授权的任何文件,然后可以故意或意外地更改文件名并获得对该文件的访问权限。
2020年4月20日

300 行代码带你搞懂 Java 多线程!

还有用法的上的不同是:Sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用Interreput()来强行打断;Wait()可以用Notify()直接唤起。
2020年4月19日

StackOverflow 上面最流行的 7 个 Java 问题!

http://stackoverflow.com/questions/8881291/why-is-char-preferred-over-string-for-passwords-in-java
2020年4月18日

微信支付软件架构,这也太牛逼了!

而管理复杂性,最根本的手段就是职责分离。为了实现职责分离,代码重用,架构慢慢地复现出来。架构的本质是管理复杂性。关注微信公众号:Java技术栈,在后台回复:架构,可以获取我整理的
2020年4月17日

怎么对 Java 程序调优?不看别后悔!

引入一些新的计算或者存储框架,利用新特性解决原有集群计算性能瓶颈等;或者引入分布式策略,在计算和存储进行水平化,包括提前计算预处理等,利用典型的空间换时间的做法等;都可以在一定程度上降低系统负载;
2020年4月16日

分库、分表、分区的区别,傻傻分不清?

proxy模式的话我们的select和update语句都是发送给代理,由这个代理来操作具体的底层数据库。所以必须要求代理本身需要保证高可用,否则数据库没有宕机,proxy挂了,那就走远了。
2020年4月14日

Class.forName 和 ClassLoader 到底有啥区别?

而在我们使用JDBC时通常是使用Class.forName()方法来加载数据库连接驱动。这是因为在JDBC规范中明确要求Driver(数据库驱动)类必须向DriverManager注册自己。
2020年4月14日

一条垃圾SQL,把 64 核 CPU 快跑崩了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年4月13日

5 个刁钻的 String 面试题!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年4月11日

Spring 的 BeanFactory 和 FactoryBean 傻傻分不清?

都是附加了某种功能的实现。它为其他具体的IOC容器提供了最基本的规范,例如DefaultListableBeanFactory,XmlBeanFactory,ApplicationContext
2020年4月10日

Nginx 又一牛 X 功能!流量拷贝

nginx的master进程的进程ID,默认情况下,放在nginx.pid文件中,该文件所在的目录一般是/usr/local/nginx/logs
2020年4月9日

8 个你必须要掌握的 GitHub 实用技巧!

https://github.com/AlloyTeam/AlloyTouch/issues/6这个issues会自动被关闭。当然不仅仅是fix这个关键字。下面这些关键字也可以:
2020年4月8日

一文带你搞懂 MySQL 中的分区!

每个段开始,先用32页(page)大小的碎片页来存放数据,在使用完这些页之后才是64个连续页的申请。这样做的目的是,对于一些小表或者是undo类的段,可以开始申请较小的空间,节约磁盘开销。
2020年4月8日

Java 10 大装 B 写法,看完可以出去吹牛逼了!

关于try-with-resources的详细介绍及演进过程,大家可以阅读这篇文章:JDK9新特性实战:简化流关闭新姿势,或者可以关注微信公众号:Java技术栈,在后台回复
2020年4月3日

太赞了,2020 最新 Java 面试题出炉!(带全部答案)

集合、JVM、多线程、Spring全家桶、Redis、Dubbo、Netty、Elasticsearch、大数据、阿里巴巴等大厂面试题等。
2020年4月3日

为什么大公司一定要使用微服务?

容器技术。虽然这个对于微服务并不是必须的,但是容器技术轻量级、灵活、与应用依存、屏蔽环境差异的特性对于持续交付的实现是至关重要的,即使对于传统的单体应用也能够给其带来交付效率的大幅提升。
2020年4月2日

你还在用 Date?快使用 LocalDateTime 了!

20192.使用SimpleDateFormat对时间进行格式化,但SimpleDateFormat是线程不安全的SimpleDateFormat的format方法最终调用代码:
2020年3月31日

Java 14 之模式匹配,非常赞的一个新特性!

https://www.oracle.com/java/technologies/javase-jdk14-downloads.html
2020年3月30日

推荐 4 款 MySQL 调优工具,大神都在用!

这是mysql一个常用的数据库性能诊断工具,主要检查参数设置的合理性包括日志文件、存储引擎、安全建议及性能分析。针对潜在的问题,给出改进的建议,是mysql优化的好帮手。
2020年3月29日

单例模式的 8 种写法,非常全!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年3月27日

数据库连接池到底应该设多大?

网络和磁盘类似。通过以太网接口读写数据时也会形成阻塞,10G带宽会比1G带宽的阻塞少一些,1G带宽又会比100M带宽的阻塞少一些。不过网络通常是放在第三位考虑的,有些人会在性能计算中忽略它们。
2020年3月26日

以淘宝为例,解析大型电商服务端架构!

例如负载均衡服务器目前是一个单点的,如果负载均衡服务器访问不了,那么后续的包括服务器集群等也就无法访问了。所以可以将负载均衡服务器做成集群,然后做一些主从的双机热备,同时做一个自动切换的解决方案。
2020年3月25日

从 0 编写自己的第一款 IDEA 插件!

http://www.jetbrains.org/intellij/sdk/docs/basics/getting\_started/plugin\_compatibility.html
2020年3月25日

每个程序员都必须掌握的 8 种数据结构!

几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结构属于计算机科学和软件工程的基础。当涉及软件工程面试问题时,这是一个关键主题。因此,作为开发人员,我们必须对数据结构有充分的了解。
2020年3月24日

怎么用追 MM 来理解 23 种设计模式?

调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使他们可以松散偶合。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立的变化。
2020年3月23日

重磅:Java 14 正式发布了!

input"""特性一样,它支持多行字符串文字,可以不需要使用大多数转义序列,并以一种可预测的方式自动设置字符串格式,同时可以让开发人员控制格式。虽然这不是特别复杂的特性,但对于开发中想将
2020年3月21日

GitHub iOS 和 Android 正式发布!

的时候,就能够收到悬浮通知,方便开发者随时随地查看代码、合并更改以及共享协作等。当然还包含对关闭通知、标记任务状态等滑动操作的支持。
2020年3月20日

没用 Java 8,怎么优雅地避免空指针?

log.info("possible.value:"+possible.get());//包含的引用缺失(null),则抛出java.lang.IllegalStateException
2020年3月18日

注意了!ArrayList 增删千万不要乱用…

1,所以执行了next方法,最重要的来了,之前remove的操作导致ArrayList的modCount值加1,然后Itr类中的expectedModCount保持不变,所以会抛出异常。
2020年3月18日

我去,同事居然用明文存储密码!!!

栈长:这个系统为什么要用明文存储用户密码?开发:这是内部小系统,只有几个人在用,应该不用加密吧栈长:系统不分大小,所有敏感信息都需要加密处理,更何况是密码,赶紧修改处理下开发:好的,我的锅
2020年3月17日

Redis 使用 10 个小技巧,请收下!

原文:http://objectrocket.com/blog/how-to/10-quick-tips-about-redis/
2020年3月16日

Springboot 优雅停止服务的几种方法!

e.printStackTrace();}ctx.close();第三种第三种方法,在springboot启动的时候将进程号写入一个app.pid文件,生成的路径是可以指定的,可以通过命令
2020年3月16日

NIO 和 IO 到底有什么区别?别说你不会!

还有就是NIO的缓冲区(其实也就是一个字节数组)还可以进行分片,可以建立只读缓冲区、直接缓冲区和间接缓冲区,只读缓冲区很明显就是字面意思,直接缓冲区是为加快
2020年3月15日

腾讯发布 2019 年研发报告:新增 12.9 亿行代码,74% 技术 Leader 仍在写代码

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年3月14日

Java中的运算神器 BigDecimal,了解一下?

这无疑是一个很严重的问题,尤其是当电商网站的并发量上去的时候,出现的问题将是巨大的。可能会导致无法下单,或者对账出现问题。所以接下来我们就可以使用Java中的BigDecimal类来解决这类问题。
2020年3月13日

一次 Druid 连接池泄露引发的血案!

com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:90)连接池中的连接数量已经到达最大值了,到了
2020年3月12日

干掉PostMan!IDEA这款插件太实用了…

Client真香的地方,支持从指定的配置文件中获取到环境相关的配置参数,不仅baseUrl可以通过占位符替换,一些请求的参数如果和接口环境相关的都可以通过配置文件来区分。
2020年3月11日

厉害了!如何在 Gihub 快速搜索开源项目?

很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了GitHub,想找个开源项目,进行学习,获取项目实战经验。
2020年3月10日

HTTP连接客户端,选 HttpClient 还是 OkHttp ?

HttpClient和OkHttp一般用于调用其它服务,一般服务暴露出来的接口都为http,http常用请求类型就为GET、PUT、POST和DELETE,因此主要介绍这些请求类型的调用。
2020年3月9日

互联网工作生存指南,太真实了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年3月7日

分享 14 个 Spring MVC 顶级技巧!

org.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping("/hello")public
2020年3月6日

做了几年Java,还不知道什么是守护线程?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年3月6日

​飞机上用的是什么操作系统?

类似波音-787,空客-380,空客-350内部设备之间是使用以太网的一种变体来互联的,叫AFDX,在应用软件这一层,同普通的以太网程序没有任何区别。
2020年3月5日

图文并茂,万字详解,带你掌握 JVM 垃圾回收!

内存布局里面JVM创建一个新对象的内存分配流程图。这张图也描述了GC的流程。推荐阅读:46张PPT弄懂JVM、GC算法和性能调优!关注微信公众号:Java技术栈,在后台回复:JVM,可以获取我整理的
2020年3月5日

为啥国人喜欢Mybatis,而老外偏爱 Hibernate/JPA 呢?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年3月3日

程序员接私活,怎样防止做完不给钱?

类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。
2020年3月1日

Redis牛逼!轻松实现实时订阅推送

SortedSet队列里面。为什么要这样呢,因为如果用户同时订阅了两张劵并且推送时间很近,这样的两条推送就可以合并成一条~,并且这样hash也相对均匀。下面是部分代码的截图:
2020年2月28日

拯救狗屎代码:基于 Gitlab 的代码审查,简单实用

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月27日

什么是悲观锁和乐观锁?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月27日

Tomcat 爆出高危漏洞!

最后会将pathinfo交给serviceJspFile处理,以jsp解析该文件,所以当我们可以控制服务器上的jsp文件的时候,比如存在jsp的文件上传,这时,就能够造成rce
2020年2月26日

7 种 JVM 垃圾收集器,看完我跪了。。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月24日

Git 高级用法,喜欢就拿去用!

的时候在每个提交上执行命令如果特性很多,一个分支里可能有多个提交。如果测试失败了,你希望能找到导致测试失败的提交。这时候你可以使用
2020年2月23日

Java 24 年发展史,辉煌的 24 年!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月22日

推荐一款 Vim 神器,666!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月22日

Spring Cloud 和 Dubbo,到底用哪个好?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月21日

逼疯一个程序员有多简单?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月21日

Java 和 Javascript 的区别是什么?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月20日

Java 8 中的永久代去哪了?​

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月19日

18 个示例带你掌握 Java 8 日期时间处理!

只要当天的日期和生日匹配,无论是哪一年都会打印出祝贺信息。你可以把程序整合进系统时钟,看看生日时是否会受到提醒,或者写一个单元测试来检测代码是否运行正确。示例6:Java
2020年2月18日

switch case 支持哪几种数据类型?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月18日

一图搞懂 Java 中的异常分类!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月17日

Dubbo 爆出严重漏洞!

Dubbo并且启用http协议进行通信时,攻击者可以向网站发送POST请求,在请求里可以执行一个反序列化的操作,由于没有任何安全校验,这个反序列化过程可以执行任意代码。
2020年2月16日

远程办公一周,我有话说!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月15日

写了一首 Java 表白诗,女朋友不愁了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月14日

如何用 Git 优雅回退代码,别搞错了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月13日

Vert.x!这是目前最快的 Java 框架

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月12日

Spring 解决循环依赖的 3 种方式!

ClassPathXmlApplicationContext("com/zfx/student/applicationContext.xml");
2020年2月10日

为什么索引能提高查询速度?

2)当一个系统查询比较频繁,而新建,修改等操作比较少时,可以创建索引,这样查询的速度会比以前快很多,同时也带来弊端,就是新建或修改等操作时,比没有索引或没有建立覆盖索引时的要慢。
2020年2月10日

阿里面试 Java 都问什么?万字总结!

在自己拿到阿里offer之前,一直都在想一个问题:我到底该如何做才能离阿里更近?一年的成长与思考让我认清了这点,虽然中间也遇到过很多坑,但却真正让我对自己有了一个清晰的定位,也有了比较明确的目标。
2020年2月9日

用户密码到底要怎么加密存储?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月8日

为什么 Redis 默认 16 个库?90%以上程序员不知道!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月7日

超详细解析微服务架构,写得太好了!

在编程的世界中,最重要的便是抽象能力。微服务改造的过程实际上也是个抽象的过程。小明和小红整理了网上超市的业务逻辑,抽象出公用的业务能力,做成几个公共服务:
2020年2月6日

2020 最新 Java 面试题整理,建议收藏!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年2月5日

京东把 Elasticsearch 用的真牛逼!

分片数越大,集群横向扩容规模也更大,根据分片路由的单ID查询吞吐量也能大大提升,但聚合的分页查询性能则将降低;分片数越小,集群横向扩容规模也更小,单ID的查询性能也会下降,但分页查询的性能将会提升。
2020年2月4日

Spring Cloud Greenwich 最后一个计划版本发布!

https://github.com/spring-projects/spring-cloud/wiki/Spring-Cloud-Greenwich-Release-Notes
2020年2月4日

Oracle JDK 和 OpenJDK 有什么区别?

doc:https://github.com/google/guavahttps://google.github.io/guava/releases/snapshot-jre/api/docs/
2020年2月3日

20200202,千年难遇啊!

本文收录在Java技术栈Github,欢迎Star:https://github.com/javastacks/javastack
2020年2月2日

Java中的对象都是在堆上分配的吗?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月31日

Java 14 令人期待的 5 大新特性,打包工具终于要来了!

...}在这段代码中,我们通过instanceof运算符来检查obj变量是否是Integer的实例。如果条件为真的话,我们不能将obj直接作为一个整数变量使用,因为必须首先对它进行转换。
2020年1月27日

过年回家,反借钱攻略!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月26日

阿姨,我真不是修电脑的!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月25日

鼠鼠鼠鼠鼠鼠鼠鼠鼠鼠年有约!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月24日

相亲无数,全是套路!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月23日

面试了一个 46 岁程序员,思绪万千

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月22日

IDEA 公司推出新字体,极度舒适~

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月21日

如何编写可怕的 Java 代码?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月20日

请不要在 JDK 7+ 中使用这个 JSON 包了!

offset+count);}来源:大魔王mAysWINdwww.cnblogs.com/mayswind/p/9222245.htmlEND
2020年1月19日

图文并茂,傻瓜都能看懂的 JVM 内存布局

等异常退出无论何种退出情况,都将返回至方法当前被调用的位置。方法退出的过程相当于弹出当前栈帧,退出可能有三种方式:返回值压入上层调用栈帧异常信息抛给能够处理的栈帧PC
2020年1月18日

Java序列化 3 连问,这太难了吧!

序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。核心作用是对象状态的保存与重建。
2020年1月17日

2019 年 10 个最烂的密码,个个稀烂!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月16日

牛逼哄哄的 MQ 到底有啥用?

要回答好这个问题,首先要知道为什么消息会被重复消费,大多都是因为网络不通导致,确认信息没有传送到消息队列,导致消息队列不知道自己已经消费过该消息了,再次将该消息分发给其他的消费者。
2020年1月16日

Spring Cloud 如何动态刷新 Git 仓库配置?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月15日

别再 select * 了,送你 12 个查询技巧!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月15日

java.lang.String 的 + 号操作到底做了什么?

/develop/project/string-test/out/production/classes/com/fanpan26/string/test/Main.class
2020年1月14日

IntelliJ IDEA For Mac 快捷键,够骚,速度收藏!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月13日

HashMap 和 currentHashMap 终于总结清楚了!

计算简单和散列地址分布均匀,但是不可能设计出一个绝对完美的哈希函数,我们需要清楚的是,数组是一块连续的固定长度的内存空间,再好的哈希函数也不能保证得到的存储地址绝对不发生冲突。
2020年1月11日

YYYY-MM-DD 的黑锅,我们不背!

2020-03-79看到没有?最后的3个日期都错误了,这里的大写的DD代表的是处于这一年中那一天,不是处于这个月的那一天。小伙伴们一定要记住了不要犯类似的错误。3、结论
2020年1月10日

Spring 中的 bean 为什么默认单例?

https://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch04s04.html
2020年1月8日

JVM 面试 4 连炮,你能顶住么?

根据javadoc的描述,OOM是指JVM的内存不够用了,同时垃圾收集器也无法提供更多的内存。从描述中可以看出,在JVM抛出OutOfMemoryError之前,垃圾收集器一般会出马先尝试回收内存。
2020年1月8日

Spring事务失效的 8 大原因,这次可以吊打面试官了!

但是我觉得还是总结得不够全,今天栈长我再总结一下,再延着这位粉丝的总结再补充完善一下,不用说,我肯定也不见得总结全,但希望可以帮忙有需要的人。
2020年1月7日

阿里巴巴为什么要禁用 Executors 创建线程池?

它和SingleThreadExecutor类似,唯一的区别就是核心线程数不同,并且由于使用的是LinkedBlockingQueue,在资源有限的时候容易引起OOM异常
2020年1月6日

Spring 面试 7 大问题,你顶得住不?

提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。在填充Handler的入参过程中,根据你的配置,Spring
2020年1月5日

Spring Boot Debug 调试秘籍,日后必定有用!

https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html
2020年1月3日

PostgreSQL 正威胁 Oracle 统治地位!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2020年1月2日

2020 年最流行的 Java 开发技术

原文:https://hackernoon.com/java-developers-are-you-excited-for-the-new-things-in-2020-3d1i32g0
2020年1月1日

2020 年的第 1 个重磅彩蛋!

说到程序员的出路,这也是老生常谈的话题了,没有统一答案,因人而异。有些人继续做着程序员,有些人凭借自己的努力成了公司高管,有些人回家开起了水果店,有的人去送了外卖,还有些人做了自媒体。
2020年1月1日

2020 年 DevOps 七大发展趋势

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月31日

Java中最大的数据结构:LinkedHashMap 了解一下?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月30日

2019 年 Java 核心技术大总结!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月29日

Spring Boot 如何快速改造老项目?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月28日

2020 年最新 Spring 框架维护路线图

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月26日

Google 开源的依赖注入库,比 Spring 更小更快!

targetbind(TransactionLog.class).to(InMemoryTransactionLog.class).in(Singleton.class);@Provides
2019年12月25日

AJAX 三连问,你能顶住么?

在AJAX出现时,那时的服务端还是很古老的那一批,因此完全没有考虑到AJAX出现后,前端请求方式会变得异常复杂,造成以前的安全策略已经无法满足要求了,导致大批的后台安全漏洞曝光。。。
2019年12月24日

HashMap 容量为什么总是为 2 的次幂?

//cap-1后,n的二进制最右一位肯定和cap的最右一位不同,即一个为0,一个为1,例如cap=17(00010001),n=cap-1=16(00010000)
2019年12月23日

不能用 + 拼接字符串? 这次我要吊打面试官!

好久没维护《吊打面试官》系列了,今天再来一篇,这次真的要吊打了,哈哈!(看往期吊打系列请在后台回复:吊打,我会陆续更新……)
2019年12月21日

3种骚操作,教你查看 Java 字节码!

当然,市面上还有很多其他的小工具可以查看字节码,这里就不再一一介绍了,有兴趣的可以去了解下,栈长介绍的这三种方式应该够用了吧。
2019年12月20日

漫画:一个需求引发的血案

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月20日

硬核!尽量避免 bug 手法

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月19日

详解 Java 的八大基本类型,写得非常好!

当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJava的交互面板中用下述技巧来确认:
2019年12月18日

微服务为什么一定要Zookeeper?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月17日

Spring Cloud @RefreshScope 原理是什么?

}}Scope实例对象通过ScopedProxyFactoryBean创建,其中通过AOP使其实现ScopedObject接口,这里不再展开。
2019年12月16日

HashMap 为什么线程不安全?

从堆栈信息中可以看到出现死循环的位置,通过该信息可明确知道死循环发生在HashMap的扩容函数中,根源在transfer函数中,jdk1.7中HashMap的transfer函数如下:
2019年12月16日

离职10天,面挂4家公司!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月15日

疯了!同事又问我为什么不能用 isXXX

醉了,讲了好多次都记不住,我让他自己去看阿里巴巴的《Java开发手册》,或者自行百度,说实话,有点工作经验人都知道,这都是基础的东西。
2019年12月12日

InnoDB一棵B+树可以存放多少行数据?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月12日

Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!

"org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration"})public
2019年12月10日

Java中的门面设计模式,非常有用!

在上面的代码中,我们发现门面类里只调用了启动的方法,没有关闭的方法给我们调用,这就是门面设计模式的另一个优势,它可以将不必要对客户开放的方法隐藏起来,以保证安全性。
2019年12月10日

来,看我是如何把面试官问倒的!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月8日

Spring Boot 2.2.2 发布,新增 2 个新特性!

一大周末的起来更新文章,四季如夏的深圳,我却裹着棉大衣在这写文章,不可思议吧,今年的深圳似乎比以往要冷一些,或者是我不再习惯老家寒冷的天气了,在深圳久了,抵抗力差了。
2019年12月7日

Spring 如何在一个事务中开启另一个事务?

}}执行之后,发现结果还是没有改变,必须要整体执行完成,数据库中数据才会出现,说明还是在一个事务中。Spring的核心思想,推荐你看看。我们再将代码修改一下:@Servicepublic
2019年12月6日

拼多多面试题:如何用 Redis 统计独立用户访问量?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月5日

别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

type为必填项,用于指定commit的类型,约定了feat、fix两个主要type,以及docs、style、build、refactor、revert五个特殊type,其余type暂不使用。
2019年12月4日

CPU 到底是怎么认识代码的?涨姿势了!

最近读到这样一篇好文章,从底层硬件角度出发剖析了一下CPU对代码的识别和读取,内容非常精彩,读完感觉大学里学到的很多东西瞬间联系起来了,这里分享给大家,希望能认真读完并有所收获。
2019年12月3日

写代码注意了,千万不要在 MySQL 中使用 UTF-8

Unicode字符集包含了上百万个字符。最简单的编码是UTF-32,每个字符使用32位。这样做最简单,因为一直以来,计算机将32位视为数字,而计算机最在行的就是处理数字。但问题是,这样太浪费空间了。
2019年12月3日

为什么微服务一定要有网关?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年12月2日

IntelliJ IDEA 2019.3 发布,性能更牛逼!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月30日

Spring Boot 构造器参数绑定,越来越强大了!

org.springframework.boot.context.properties.ConfigurationPropertiesBean.BindMethod
2019年11月29日

终于有人把 Nginx 说清楚了,图文详解!

明白了什么是正向代理,我们继续看关于反向代理的处理方式,举例如我国的某宝网站,每天同时连接到网站的访问人数已经爆表,单个服务器远远不能满足人民日益增长的购买欲望了。
2019年11月29日

一文搞懂 Java 中的枚举,写得非常好!

注意一个细节:如果要为enum定义方法,那么必须在enum的最后一个实例尾部添加一个分号。此外,在enum中,必须先定义实例,不能将字段或方法定义在实例前面。否则,编译器会报错。
2019年11月27日

全球 IPv4 地址正式耗尽

ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 2001:0DB8:0000:0023:0008:0800:200C:417A
2019年11月27日

Java中的责任链设计模式,太牛了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月25日

如何快速安全的插入千万条数据?

'%max_allowed_packet%';+--------------------------+------------+|
2019年11月23日

Spring Cloud Greenwich.SR4 发布了,跟不上了……

https://spring.io/blog/2019/11/19/spring-cloud-greenwich-sr4-released
2019年11月22日

厉害了,ES 如何做到几十亿数据检索 3 秒返回!

使用前一个分页记录的最后一条来检索下一个分页记录,在我们的案例中,首先使用from+size,检索出结果后再使用search_after,在页面上我们限制了用户只能跳5页,不能跳到最后一页。
2019年11月21日

Spring 最常用的 7 大类注解,史上最强整理!

cookie){}cookie即http请求中name为JSESSIONID的cookie值。@CrossOrigin此注解用在class和method上用来支持跨域请求,是Spring
2019年11月20日

Spring Boot 五种热部署方式,极速开发就是生产力!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月19日

12306 的架构也太 "牛X" 了吧!

从上面的介绍我们知道用户秒杀流量通过层层的负载均衡,均匀到了不同的服务器上,即使如此,集群中的单机所承受的QPS也是非常高的。如何将单机性能优化到极致呢?要解决这个问题,我们就要想明白一件事:
2019年11月18日

头大!RabbitMQ 和 Kafka 到底怎么选?

本文内容参考自RabbitMQ和KafKa官方文档,所以真要搞懂一个中间件的原理最好去看官方文档,文档里面有详细的设计方案,我们可以自己进行设计方案的对比,从而找出符合自己实际情况的中间件。
2019年11月17日

GitHub for mobile 来了,码农苦逼了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月16日

Spring的核心思想,总结得非常好!

coder.helloWorld();}具体的对象创建和依赖关系的设置将由IOC根据XML配置来完成,Spring使得依赖注入机制自动化,但是依赖注入的本质却没有变花。2019
2019年11月15日

教你用 Netty 实现一个简单的 RPC!

Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(),
2019年11月14日

Spring Cloud 升级最新 Greenwich 版本,舒服了~

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月14日

Java中的模板设计模式,太实用了!

}}这样如果还有其他的代码需要复用模板,那么直接调用useTemplet就可以了。模板设计模式在框架的设计中使用比较多,例如springmvc的view就是一个典型的模板设计模式。作者:Mazin
2019年11月13日

牛逼哄洪的 Java 8 Stream,性能也牛逼么?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月13日

MySQL 用 limit 为什么会影响性能?

1.https://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
2019年11月12日

两个线程如何交替执行,一个输出偶数一个输出奇数?

同步两个方法,每次只能有一个线程进入,每打印一个数,就释放锁,另一个线程进入,拿到锁,打印,唤醒另一个线程,然后挂起自己。循环反复,实现了一个最基本的打印功能。面试常问的:Synchronized
2019年11月11日

面试 4 个月,最终入职大厂经验分享!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月11日

Spring Boot 2.2.1 发布,一个有点坑的版本!

XXXProperties@SpringBootApplication@ConfigurationPropertiesScan@EnableConfigurationPropertiespublic
2019年11月9日

面试问红黑树,我脸都绿了。。

8、被删除元素为黑且兄弟节点为黑,兄弟节点的孩子为黑,父亲为黑,这个时候需要将兄弟节点变为红,再把父亲看做那个被删除的元素(只是看做,实际上不删除),看看父亲符和哪一条删除规则,进行处理变化如图:
2019年11月8日

CPU飙高,频繁GC,怎么排查?

top-Hp命令查看当前进程的各个线程运行情况,找出CPU过高的线程之后,将其线程id转换为十六进制的表现形式,然后在jstack日志中查看该线程主要在进行的工作。这里又分为两种情况
2019年11月8日

好问题:count(1)、count(*)、count(列)有什么区别?

name;+------+-------------+----------+----------+------------+----------------------+|
2019年11月7日

歪国人整理的 2019 年 Java 开发路线图,值得参考!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月6日

在 IntelliJ IDEA 中使用 Git,太方便了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月5日

干货 | 深入分析 string.intern() 方法

这个结果其实很好理解,在第一行代码执行的时候,会在heap中创建一个对象,并且回去常量池中查看该字符串是否已经存在,如果不存在,那么久创建一个。所以第二行代码可以说是没什么作用的。
2019年11月4日

2019 最新 Spring 系列教程,都在这了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年11月4日

14个Java并发容器,Java高手都知道!

}}乍一看会有点疑惑,读和写都是同一个锁,那要是空的时候正好一个读线程来了不会一直阻塞吗?答案就在notEmpty、notFull里,这两个出自lock的小东西让锁有了类似synchronized
2019年11月2日

不用 Notepad++,还有更牛逼的选择!

Editra是一个支持多平台的文本编辑器,可以支持基本语法和二十种语言。它使用方便,可以用颜色标注重点部分,支持进行内嵌式编辑,也可以进行代码编辑。
2019年11月1日

图解高内聚与低耦合,傻瓜都能看懂!

无需关注不同数据库Driver接口实现Class.forName("com.mysql.jdbc.Driver");Connection
2019年10月31日

Spring Boot 之配置导入,强大到不行!

@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic
2019年10月30日

Git 的这个神技,学会爽歪歪~

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月29日

for (;;) 与 while (true),哪个更快?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月28日

Spring Boot 怎么打一个可执行 Jar 包?

https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/maven-plugin/usage.html
2019年10月27日

为什么要重写 hashcode 和 equals 方法?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月26日

终于有人把 Docker 讲清楚了,万字详解!

"/var/lib/docker/overlay2/937140af0aee6c43f04c2d7b72e6b5451a44fef921417e8236d9fe01e9286c7a/merged",
2019年10月21日

傻傻分不清?Integer、new Integer() 和 int 的面试题

59在-128到127之间,所以,i01和i03的赋值操作返回的是同一个对象。都是从chche中返回的同一个对象,对象地址相同
2019年10月19日

Spring Boot 2.2.0 正式发布,支持 JDK 13!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月18日

代码写成这样,老夫无可奈何!

2;...看到上面的常量定义,我真想打人,虽然魔法值是没了,但又定义了一些没有意义的常量,完全没有理解修改魔法值的真谛,这和脱裤子放屁有什么区别?
2019年10月17日

几个 BeanUtils 中的坑,千万别踩!

(!Modifier.isPublic(writeMethod.getDeclaringClass().getModifiers()))
2019年10月16日

为什么 Java 线程没有 Running 状态?

assertThat(serverThread.getState()).isEqualTo(Thread.State.RUNNABLE);}监控显示:当然,Java
2019年10月13日

设计模式都没用过,好意思出去面试?

calculate}这里我们将折扣类型的判断和计算价格分开,使得promotion(…)方法的代码量大大降低,提升了代码的可读性。面象对象设计6大原则之一:单一职责原则,这篇也推荐大家看下。
2019年10月13日

厉害了,淘宝千万并发,14 次架构演进…

本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。
2019年10月12日

Redis 内存满了怎么办……

allkeys-lruLRU算法什么是LRU?上面说到了Redis可使用最大内存使用完了,是可以使用LRU算法进行内存淘汰的,那么什么是LRU算法呢?LRU(Least
2019年10月12日

Java 线程池 8 大拒绝策略,面试必问!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月11日

HTTP/2 最新漏洞,直指 Kubernetes!

在这个数据、应用横行的时代,漏洞的出现早已屡见不鲜。在尚未造成大面积危害之前,我们该如何做好防御措施?或许从过往经常发生漏洞的事件中我们能够得到一些启发。
2019年10月10日

掌握这些 Redis 技巧,百亿数据量不在话下!

Redis的核心功能就是有这两个类实现,RedisClient代表着Redis客户端对服务器的一个连接。Redis真正使用的时候有一个Redis连接池,里面存放着很多个RedisClient对象。
2019年10月9日

Dubbo 序列化协议 5 连问,你接得住不?

为了要支持高并发场景,一般是服务提供者就几台机器,但是服务消费者有上百台,可能每天调用量达到上亿次!此时用长连接是最合适的,就是跟每个服务消费者维持一个长连接就可以,可能总共就
2019年10月8日

10 个牛逼的后台开源项目,接私活赚钱必备!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月7日

漫画:程序员相亲图鉴,笑屎我了~

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月6日

select count(*) 底层到底干了啥?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月5日

在外包干了三年,我废了……不吹不黑!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月4日

假期加了三天班,公司不给钱,咋办?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年10月3日

怎么快速插入 100 条数据,用时最短

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年9月29日

JDK 13 的 12 个新特性,真心涨姿势了

”已被新的官方名称取代。依赖占位符名称(请参阅JDK-8202088)获取新时代单例(JapaneseEra.valueOf("NewEra"))的应用程序将不再起作用。请参阅JDK-8205432
2019年9月27日

面试官问线程安全的List,看完再也不怕了!

snapshot);}这两种并发集合,虽然牛逼,但只适合于读多写少的情况,如果写多读少,使用这个就没意义了,因为每次写操作都要进行集合内存复制,性能开销很大,如果集合较大,很容易造成内存溢出。
2019年9月26日

Java 类在 Tomcat 中是如何加载的?

通过这样,我们就可以简单的把Java文件放置在src文件夹中,通过对该Java文件的修改以及调试,便于学习拥有源码Java文件、却没有打包成xxx-source的jar包。
2019年9月25日

Redis 21问,你接得住不?

multi-bulk应答以通知调用者事务执行失败。例如,我们再次假设Redis中并未提供incr命令来完成键值的原子性递增,如果要实现该功能,我们只能自行编写相应的代码。其伪码如下:val
2019年9月25日

String hashCode 这个数字,很多人不知道!

至于原因,这个就要问数学家了,我几乎可以忽略的数学水平解释不了这个原因。上面说到,31是一个不大不小的质数,是优选乘子。那为啥同是质数的2和101(或者更大的质数)就不是优选乘子呢,分析如下。
2019年9月24日

Spring Boot & Restful API 构建实战!

单元测试详解+实战教程。这里我们就通过Junit来测试各个方法:@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes
2019年9月24日

大牛总结的 Git 使用技巧,写得太好了!

创建一个.gitignore文件,把需要忽略的文件名填进去。Git就会自动忽略这些文件。我也在学习中遇到过这样的问题,比如node_modules文件就可以忽略。
2019年9月23日

推荐 33 个 IDEA 最牛配置,写代码太爽了!

自动载入Mave依赖的功能很好用,但有时候会碰到问题,导致pom文2.件修改却没有触发自动重新载入的动作,此时需要手动强制更新依赖。
2019年9月23日

Java RPC 分布式框架性能大比拼,Dubbo排老几?

不过,略有遗憾的是,据说在淘宝内部,dubbo由于跟淘宝另一个类似的框架HSF(非开源)有竞争关系,导致dubbo团队已经解散,反到是当当网的扩展版本仍在持续发展,墙内开花墙外香。
2019年9月22日

Spring Boot 中的 Tomcat 是如何启动的?

内部根据上图我们发现,工厂类是一个接口,各个具体服务的实现是由各个子类来实现的,所以我们就去看看TomcatServletWebServerFactory.getWebServer()的实现。
2019年9月20日

Java 13 发布了!

https://www.oracle.com/technetwork/java/javase/13all-relnotes-5461743.html#NewFeature
2019年9月19日

懵圈了,面试官问一个 TCP 连接可发多少个 HTTP 请求?

连接之后,假设客户端在这个连接连续向服务器发送了几个请求。按照标准,服务器应该按照收到请求的顺序返回结果,假设服务器在处理首个请求时花费了大量时间,那么后面所有的请求都需要等着首个请求结束才能响应。
2019年9月18日

年轻人的第一个自定义 Spring Boot Starter!

org.springframework.context.annotation.Configuration;@Configuration@ConditionalOnProperty(prefix
2019年9月18日

Java 中的 T,E,K,V, 别傻傻分不清楚!

Class.forName("com.glmapper.bridge.boot.generic.MultiLimit").newInstance();
2019年9月16日

Linux 与 Unix 到底有啥区别和联系?

使用任何主流公共云的开发人员可以假定目标系统将运行Linux。近些年来,随着Android和基于Linux的嵌入式系统在智能手机、电视、汽车和其他设备中的应用,Linux随处可见的证据比比皆是。
2019年9月16日

这个中秋,我用 Java 画了一个月饼!

"//res.wx.qq.com/mmbizwap/en_US/htmledition/style/page/appmsg_new/winwx502976.css";
2019年9月13日
2019年9月11日

Java虚拟机最多支持多少个线程?

1.6.0_11,设置堆内存的大小从2M到1024M来执行Charlie的测试程序。比如:创建2M的堆内存,我使用的虚拟机参数是:-Xms2m
2019年9月11日

一份完整的 MySQL 开发规范,进大厂必看!

会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大,就会消耗大量的CPU和IO及内存资源。
2019年9月10日

什么是 Java 对象深拷贝?面试必问!

}}需要注意的是,super.clone()其实是浅拷贝,所以在重写User类的clone()方法时,address对象需要调用address.clone()重新赋值。测试用例@Testpublic
2019年9月10日

到底如何设置 Java 线程池的大小?

首先我们从反面来看,假设这个说法是成立的,那我们在一台服务器上部署多少个服务都无所谓了。因为线程池的大小只能服务器的核数有关,所以这个说法是不正确的。那具体应该怎么设置大小呢?
2019年9月8日

面试一个 3 年 Java 程序员,一个问题都不会!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年9月7日

Spring Boot 集成 Ehcache 缓存,三步搞定!

我们在ehcache.xml文件中将缓存过期时间设置成了1分钟(1),因此在一分钟之内我们刷新浏览器,不会看到有新的日志输出,一分钟之后,缓存过期,我们再次刷新浏览器,将看到如下的日志输出:
2019年9月6日

一个 Java 字符串到底有多少个字符?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年9月5日

为什么 StringBuilder 不是线程安全的?

}}我们能看到这段代码创建了10个线程,每个线程循环1000次往StringBuilder对象里面append字符。正常情况下代码应该输出10000,但是实际运行会输出什么呢?
2019年9月4日

Intellij IDEA 2019 最新乱码解决必杀技,建议收藏!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年9月4日

Redis基础都不会,好意思出去面试?

"hellob"existsexists命令用于判断一个或多个key是否存在,判断多个key时,key之间用空格分隔,exists的返回值为整数,表示当前判断有多少个key是存在的。#
2019年9月2日

不用找了,大厂在用的分库分表方案,都在这了!

例如,随着业务的发展一些公用的配置表、字典表等越来越多,这时可以将这些表拆到单独的库中,甚至可以服务化。再有,随着业务的发展孵化出了一套业务模式,这时可以将相关的表拆到单独的库中,甚至可以服务化。
2019年9月2日

线程休眠只会用 Thread.sleep?来,教你新姿势!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月29日

终于明白为什么要加 final 关键字了!

编译器会将这些数据进行包装,从而由值传递变为引用传递,这样内部的修改当然就不会影响到外部了。验证一下,当变量不进行传递时,Kotlin
2019年8月28日

牛逼哄哄的 API 网关是什么鬼?面试必问!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月28日

公司不用 Spring Boot,果断离职了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月25日

Spring Boot 静态资源处理,妙!

现在我们在验证上面的配置是否有效。我在images目录下放了一张spring.jpg的图片,现在我们通过http://localhost:8080/image/spring.jpg来访问图片:
2019年8月23日

Spring Boot 注解大全,真是太全了!

项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。示例代码:@Controller
2019年8月22日

Java 12 骚操作, switch居然还能这样玩!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月21日

这样设计 Java 异常更优雅,赶紧学!

相对这两种异常的方式进行结束,第一种异常指的是我所有的异常都抛RuntimeException异常,但是需要带一个状态码,调用者可以根据状态码再去查询究竟service抛出了一个什么样的异常。
2019年8月20日

这才是微服务划分的正确姿势,值得学习!

有人说微服不难,难的是服务的划分,虽然我持保留意见。但是从侧面也反应了划分具有一定的困难。这里的矛盾在于粒度。如果粒度太大了,分和不分似乎都差不多;如果粒度太小了,聚合、发布、调用链、调试等都是坑。
2019年8月16日

Java 12 骚操作, 文件比对居然还能这样玩!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月15日

写代码注意了,打死都不要用 User 这个单词

如果你一开始就把这些人作为一个用户,你将会陷入一个痛苦的世界。你无法建立团队模型,你无法组建同时为多人支付的模型,然后你就会开始改造你的系统。现在你在SaaS案例中学到了一课,我们来看一看你的生活。
2019年8月14日

Java 12 骚操作, String居然还能这样玩!

transform======Hi,JAVAHi,PYTHONHi,C++示例是对一个字符串连续转换了三遍,代码很简单,大家都能领会的。
2019年8月13日

MyBatis中的$和#,用不好,准备走人!

in(#{showLabels}),其中showLabels是传进来一个字符串类型的参数,参数的样子是这样的“4,44,514”,问题就出在这个参数传进来后#和$处理的方式是不一样的。
2019年8月12日

Spring Boot 1.x 正式退役,2.x大步向前!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月9日

不吹牛,这样的面试官才牛逼!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月9日

Oh My God!e.printStackTrace() 导致系统卡崩

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月8日

难倒你了吧!ArrayList 为啥要实现 RandomAccess 接口?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月8日

非常接地气的架构和分层方法,值得学习!

的确在这些人眼中分层只是一个形式,前辈们的代码这么写的,其他项目代码这么写的,那么我也这么跟着写。但是在真正的团队开发中每个人的习惯都不同,写出来的代码必然带着自己的标签。
2019年8月7日

牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!

8函数式接口包里的Predicate和Consumer就可以了——因为他们这一对的接口定义和NameChecker/Executor其实是一样的。
2019年8月6日

还抱着 Java 8 不放,也是醉了!

更高的质量。更频繁的发布意味着如果某次发布中某个功能没有做好,就会被推迟到下一次发布。因此,语言开发者的压力更小,不需要赶工完成功能,因此每次发布的质量更高。
2019年8月5日

Spring 常犯的十大错误,打死都不要犯!

ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Documented@Constraint(validatedBy
2019年8月2日

Spring Boot YML 掀翻 Properties!!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年8月1日

推荐一款阿里开源的 Java 诊断工具,好用到爆!

cn.javastack.springbootbestpractice.SpringBootBestPracticeApplication
2019年7月31日

招人啦,最后一波机会!

栈长会经常在星球输出一些技术干货、知识点等,大家遇到的疑难问题都可以在星球上提问,栈长我知道的我都会解答,还有几千个球友也在关注,再也不怕遇到疑难问题孤立无援了。
2019年7月31日

Java必备主流技术流程图,写得非常好!

DispatcherServlet对请求URL进行解析,调用HandlerMapping获得该Handler配置的所有相关的对象,最后以HandlerExecutionChain对象的形式返回.
2019年7月30日

JPA、Hibernate、Spring Data JPA 的关系,你懂吗?

JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。
2019年7月29日

3年Java,鏖战腾讯

接着问为啥成本比较高?因为Java线程的调度需要在用户态和内核态切换所以成本高?为啥在用户态和内核态之间切换调度成本比较高?我简单说了下内核态和用户态的定义。
2019年7月26日

重磅!挑战Oracle,华为将开源 GaussDB 数据库

GaussDB数据库它是基于PostgreSQL9.2开发的,在性能、安全、可用性和可维护性上做了增加。主要适用于对数据的插入、删除和查询为主,更新的频率较低。
2019年7月25日

彻底干掉恶心的 SQL 注入漏洞, 一网打尽!

https://software-security.sans.org/developer-how-to/fix-sql-injection-in-java-persistence-api-jpa
2019年7月24日

Intellij IDEA 智能补全的 10 个姿势,简直不能太牛逼!

首先来看一下下面这张图,在方法里面有效位置后面输入一个.,最后面会列表所有可用的自动补全的关键字,这也就是今天要分享的内容。
2019年7月23日

FastJSON 远程执行漏洞,速速升级!

利用该0day漏洞,恶意攻击者可以构造攻击请求绕过FastJSON的黑名单策略。例如,攻击者通过精心构造的请求,远程让服务端执行指定命令(以下示例中成功运行计算器程序)。
2019年7月20日

不小心执行了 rm -f,先别急着跑路

每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,呵呵。
2019年7月19日

这么简单的 Redis 面试题都不懂,怎么拿offer?

缓存穿透是指查询一个一定不存在的数据。由于缓存不命中,并且出于容错考虑,如果从数据库查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,失去了缓存的意义。
2019年7月18日

Java 8 创建 Stream 的 10 种方式,我保证你受益无穷!

Pattern.compile("\\W").splitAsStream(value);System.out.println("stream8:"
2019年7月17日

为什么老外都不愿意用MyBatis?

人家说估计安全级别,这个系统是0级(最高级),但是使用频率和系统重要性都高于5,也就是一年用不了几回这种,安排开发预算整体升级几乎完全没有性价比,所以就pass了。
2019年7月15日

骚年,这简历一看就是包装过了

笔者最近接待的面试者,很多面试者的简历上,写着层出不穷的各种技术,为了不跨越求职者的技术栈,笔者专门挑应聘者简历写到或用到的技术来进行询问。笔者举几个例子。推荐阅读:如何看出一个程序员的技术水平?
2019年7月14日

漫画:通俗易懂的理解进程与线程

不难看出,mutex是semaphore的一种特殊情况(n=1时)。也就是说,完全可以用后者替代前者。但是,因为mutex较为简单,且效率高,所以在必须保证资源独占的情况下,还是采用这种设计。
2019年7月13日

Spring Boot 支持 HTTPS 如此简单,So easy!

tomcat.addAdditionalTomcatConnectors(createStandardConnector());
2019年7月12日

掌握这 10 大算法,就可以主宰世界!

这其实是一个数学算法,不过已经广泛应用与计算机领域。如果没有这个算法,加密信息也不会如此安全。通过一系列步骤将,它可以将一个合成数分解成不可再分的数因子。很多加密协议都采用了这个算法,就比如刚提到的
2019年7月12日

IntelliJ IDEA 快捷键终极大全,速度收藏!

关于光标移动再多扩展一点,除了Intellij本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。
2019年7月9日

Java常用的几个Json库,性能强势对比!

@BenchmarkMode(Mode.SingleShotTime)@OutputTimeUnit(TimeUnit.SECONDS)@State(Scope.Benchmark)public
2019年7月8日

Java开发最常犯的10个错误,打死都不要犯!

对于子类来说,不管是无参构造方法还是有参构造方法,都会默认调用父类的无参构造方法;当编译器尝试在子类中往这两个构造方法插入super()方法时,因为父类没有一个默认的无参构造方法,所以编译器报错;
2019年7月6日

这 17 个 JVM 参数,高级 Java 必须掌握!

只不过,这个是表示的是新生代,幸存者区。后面那个是整个堆的大小,GC前和GC后的情况。Times这个显而易见,代表GC的所消耗的时间,用户垃圾回收的时间和系统消耗的时间和最终真实的消耗时间。
2019年7月5日

Spring Boot 面试,一个问题就干趴下了!(下)

multipartResolver.setResolveLazily(this.multipartProperties.isResolveLazily());
2019年7月4日

天天用Synchronized,底层原理是个啥?

另一方面也能够帮助我们更好的理解并发编程机制,有助于我们在不同的情况下选择更优的并发策略来完成任务。对平时遇到的各种并发问题,也能够从容的应对。
2019年7月2日

Synchronized 与 ReentrantLock 的区别!

在Synchronized优化以前,synchronized的性能是比ReenTrantLock差很多的,但是自从Synchronized引入了偏向锁,轻量级锁(自旋锁)后,两者的性能就差不多了。
2019年6月29日

到底什么是重入锁,拜托,一次搞清楚!

今天,重入锁就大概写到这里了,其实重入锁就是一种颗粒度更小的锁,控制更方便,更强大,栈长只是简单介绍一下重入锁的基本概念及用法,但远不止这么简单,还有很多,一篇也难也详尽,够写好多篇了。
2019年6月27日

MySQL全面优化,速度飞起来!

在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。
2019年6月26日

Google 出品的 Java 编码规范,强烈推荐,权威又科学!

类的成员顺序对易学性有很大的影响,但这也不存在唯一的通用法则。不同的类对成员的排序可能是不同的。最重要的一点,每个类应该以某种逻辑去排序它的成员,维护者应该要能解释这种排序逻辑。
2019年6月25日

Java 13 即将发布,新特性必须抢先看!

语言。文本块是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。
2019年6月24日

年轻人的第一个 Spring Boot 应用,太爽了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年6月23日

轻松理解https,So easy!

本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。
2019年6月22日

如何写出让同事无法维护的代码?

巨大的listener。写一个listener,然后让你的所有的button类都使用这个listener,这样你可以在这个listener中整出一大堆if…else…语句,相当的刺激。
2019年6月21日

推荐一款 MyBatis 开发神器,为简化而生!

MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer
2019年6月20日

Spring Boot 2.1.6 发布了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年6月20日

一份详尽的 Java 问题排查工具清单,值得收藏!

就说一个功能classes:通过修改了字节码,改变了类的内容,即时生效。所以可以做到快速的在某个地方打个日志看看输出,缺点是对代码的侵入性太大。但是如果自己知道自己在干嘛,的确是不错的玩意儿。
2019年6月19日

一道简单的面试题,难倒各大 Java 高手!

我会经常在知识星球上更新非常有意思的面试题和知识点和大家讨论,也欢迎大家扫码加入知识星球进行讨论和学习,答对的还能拿到栈长的赏金,2,000+人已加入!
2019年6月16日

面试问我 Java 逃逸分析,瞬间被秒杀了。。

当时我被问得一脸蒙逼,瞬间被秒杀得体无完肤,当时我压根就不知道他在考什么知识点,难道对象不是在堆中分配吗?最后就没然后了,回去等通知了。。
2019年6月14日

Java多态的实现机制是什么,写得非常好!

子类型比子类有更严格的要求,它不仅要求有继承的语法,同时要求如果存在子类对父类方法的改写(override),那么改写的内容必须符合父类原本的语义,其被调用后的作用应该和父类实现的效果方向一致。
2019年6月13日

Spring Boot 配置文件 bootstrap / application 到底有什么区别?

主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap
2019年6月11日

Dubbo面试20问!这些题你都遇到过吗?

header中,比如“授权token”等,我们可以基于http-header来封装关于“安全校验”“meta数据”等。hessian提供了简单的”校验”机制。
2019年6月9日

想成为顶尖 Java 程序员?先过了下面这些问题!

本套试题没有答案,仅提供给大家参考,你也可以点击这里加入我们的Java技术栈知识星球交流学习,我在上面已经更新了许多面试题的答案了。
2019年6月9日

Spring Boot 如何干掉 if else?

最后请注意一点,HandlerProcessor和BeanTool必须能被扫描到,或者通过@Bean的方式显式的注册,才能在项目启动时发挥作用。
2019年6月8日

坑爹的 Java 可变参数,把我整得够惨。。

JDK里面很多有用到可变参数的,可实际开发中,并不建议使用可变参考,它带来的困扰和潜在的问题会远大于便利性,比如在方法重构、重写等也会带来很多问题。
2019年6月8日

面试官:你和队友之间选一个淘汰,你怎么选?

“我觉得本次我们的组员表现都很不错,只是题目一定要我在条件都不错的人里选一个和职位匹配度相对较低的人选,我的选择只是从这个职位出发,其实他的能力非常适合公司中xxxx职位(另一类型的职位)……”
2019年6月8日

图解 Java 垃圾回收机制,写得非常好!

原文:https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
2019年6月5日

冲上云霄,Dubbo Go!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年6月4日

微服务架构如何保证安全性?

我首先描述如何在FTGO单体应用程序中实现安全性。然后介绍在微服务架构中实现安全性所面临的挑战,以及为何在单体架构中运行良好的技术不能在微服务架构中使用。之后,我将介绍如何在微服务架构中实现安全性。
2019年5月31日

绝对 "牛X" 的代码注释,喜欢就拿去用!

写在前面的话:一时兴起就收集了以下神注释,希望能为广大ITer带来快乐,缓解你们工作中的压力,下面开车,先自爆头像,下文会给出制作链接。
2019年5月30日

Eclipse 最常用的 10 组快捷键,个个牛逼!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年5月29日

Spring Cloud Eureka 自我保护机制实战分析

高级玩法,栈长正在拼命撰写中……关注Java技术栈微信公众号可获取及时推送。在公众号后台回复:cloud,获取栈长整理的更多的
2019年5月27日

买书了,满400减230 !!!

资深Java专家10年经验总结,全程案例式讲解,首本全面介绍Java多线程编程技术的专著,结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等难突破的核心技术与应用实践。
2019年5月26日

Java性能调优攻略全分享,5步搞定!(附超全技能图谱)

目前大部分服务器都是多核处理器,多线程编程的应用广泛。为了保证线程的安全性,通常会用到同步锁,这会为系统埋下很多隐患;除此之外,还有多线程高并发带来的性能问题,这些都会在这个层级重点讲解。
2019年5月25日

Spring Boot Dubbo 应用启停源码分析

类型变量,用于确保被另一个线程修改后,当前线程能够立即看到这个变化。如果没有变化,就会一直处于while循环中。这就是该线程不退出的原因,也就是整个spring-boot应用不退出的原因。
2019年5月24日

厉害了,Dubbo 正式毕业!

参考:https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces52
2019年5月22日

拯救 Out Of Memory,8个案例带你飞!

https://bloggceasy.files.wordpress.com/2015/05/outofmemoryerror2.pdf
2019年5月21日

为什么 Redis 单线程能支撑高并发?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年5月20日

从零开始 Code Review,两年实战经验分享!

附一张我们审核的对话图,这位童鞋尝试对系统内部散落各地发业务邮件的代码做一个整理,用一套模式来处理,调整了3版才定调,然后修改了很多细节才通过了合并,前后大概用一个多星期时间:
2019年5月19日

跟着 2,000+ 程序员搞技术,真爽!

栈长暂时不会开免费的知识星球,也没时间和精力再维护一个免费社区,虽然现在的Java技术栈知识星球是付费加入的,但分享的东西也是最有价值的,大家付费了,对我来说就是一种责任,让我有坚持下去的动力。
2019年5月18日

Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!

https://github.com/spring-projects/spring-boot/releases/tag/v2.1.5.RELEASE
2019年5月17日

秒杀系统架构分析与实战,一文带你搞懂秒杀架构!

秒杀系统为秒杀而设计,不同于一般的网购行为,参与秒杀活动的用户更关心的是如何能快速刷新商品页面,在秒杀开始的时候抢先进入下单页面,而不是商品详情等用户体验细节,因此秒杀系统的页面设计应尽可能简单。
2019年5月16日

Intellij IDEA 撸码最头大的问题。。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年5月15日

Java 中的 SPI 机制是什么鬼?高级 Java 必须掌握!

的具体约定为:当服务的提供者,提供了服务接口的一种实现之后,在jar包的META-INF/services/目录里同时创建一个以服务接口命名的文件。该文件里就是实现该服务接口的具体实现类。
2019年5月14日

微服务配置中心全面对比,哪个更牛逼!?

https://springcloud.cc/spring-cloud-config.htmlhttps://github.com/ctripcorp/apollohttps://nacos.io/
2019年5月13日

作为字节跳动的面试官,有些话我不得不说!

代码能力是计算机专业的基础。能否在有限时间内写出清晰简洁、逻辑清晰的代码,不仅可以考察出候选人是否有扎实的基本功,也可以让面试官对候选人在未来是否能够胜任相应的岗位工作有一个基础判断。
2019年5月11日

Spring Cloud Gateway VS Zuul 比较,怎么选择?

https://stackoverflow.com/questions/47092048/how-is-spring-cloud-gateway-different-from-zuul
2019年5月10日

Zookeeper怎么实现分布式锁?

在本章,我将分别说明独占锁和读写锁详细的实现过程,并配以相应的流程图帮助大家了解实现的过程。这里先说说独占锁的实现。Java中的锁原理、锁优化、CAS、AQS,这篇文章推荐大家看下。
2019年5月9日

数据库怎么分库分表,垂直?水平?

注:按照orderid或buyerid查询时路由到dbobuyer库中,按照sellerid查询时路由到dbo_seller库中。感觉有点本末倒置!有其他好的办法吗?改变技术栈呢?
2019年5月8日

Spring Boot 注册 Servlet 的三种方法,真是太有用了!

org.springframework.boot.web.servlet.ServletContextInitializer;import
2019年5月7日

46张PPT弄懂JVM、GC算法和性能调优!

好东西当然要分享,PPT已上传可供下载(关注Java技术栈微信公众号,在后台回复:JVM46,即可获取完整PPT,另外良心推荐阅读《深入理解Java虚拟机JVM高级特性与最佳实践》
2019年5月6日

JVM 与 Linux 的内存关系详解

JVM以一个进程(Process)的身份运行在Linux系统上,了解Linux与进程的内存关系,是理解JVM与Linux内存的关系的基础。下图给出了硬件、系统、进程三个层面的内存之间的概要关系。
2019年5月5日

金三银四铜五铁六,Offer收到手软!

如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,满意的原因是能看出你确实非常热衷研究技术。Static
2019年5月4日

厉害了,Spring Cloud Alibaba 发布 GA 版本!

个新的模块:spring-cloud-alibaba-dubbo、spring-cloud-alibaba-seata、spring-cloud-alibaba-sentinel-zuul
2019年5月3日

漫画:程序员老爸想五一出国游,笑死我了……

假期来了,本来没什么事,程序员阿成觉得终于可以休息一下了。可老爸的朋友居然说要去英国旅游,这下老爸可就不干了,一定也要去旅游。
2019年5月2日

疯狂四天!!!

先来简单介绍一下知识星球吧,知识星球这是一个千人以上的Java技术小密圈,栈长会分享大量的学习资料,都是栈长多年技术积累,大家也可以互相分享知识点、学习资源、面试经验、工作机会等。
2019年5月1日

推荐5本纯Java技术书,你看过几本?

推荐语:资深Java专家10年经验总结,全程案例式讲解,首本全面介绍Java多线程编程技术的专著,结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等难突破的核心技术与应用实践。
2019年5月1日

面试问烂的 MySQL 查询优化,看完屌打面试官!

MySQL是插件式的存储引擎,其中存储引擎分很多种。只要实现符合mysql存储引擎的接口,可以开发自己的存储引擎! 2、所有跨存储引擎的功能都是在服务层实现的。
2019年4月29日

再见,Eclipse。

的工具。当时使用这个工具的时候,我已经觉得非常好用了,因为在此之前,我记得好像只是用个简单的文本工具来编辑。后来才发现,那些喜欢宣扬文本编辑器才能精通
2019年4月28日

面试问烂的 MySQL 四种隔离级别,看完吊打面试官!

事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。另外,这篇分布式事务不理解?一次给你讲清楚!推荐大家阅读。
2019年4月26日

Dubbo 3.0 预览版解读,6到飞起~

CompletableFuture$invokeAsync(Stringmethod,String[]parameterTypes,Object[]args)接口:
2019年4月25日

Spring Cloud Eureka 常用配置详解,建议收藏!

org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean
2019年4月24日

搞懂这7个Maven问题,带你吊打面试官!

dependency:tree)中离项目最近的那个版本将会被使用。(从这里可以看出Maven是不是有点小问题呢?能不能选择高版本的进行依赖么?据了解,Gradle就是version+策略)
2019年4月23日

Spring Cloud Eureka 注册安全一定要做到位!

spring-boot-starter-security2、添加安全配置
2019年4月22日

好文 | MySQL 索引B+树原理,以及建索引的几大原则

’2014-05-29’就不能使用到索引,原因很简单,b+树中存的都是数据表中的字段值,但进行检索时,需要把所有元素都应用函数才能比较,显然成本太大。所以语句应该写成create_time
2019年4月19日

为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?

TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16
2019年4月18日

Intellij IDEA 阅读源码的 4 个绝技,我必须分享给你!

有了这个插件,它可以在项目中按文件类型进行代码的行数、数量、大小统计。这样你就能知道整个源码的总体数量,你也可以把已经阅读的做统计,慢慢实现源码阅读的攻破。
2019年4月17日

Spring Boot 启动,1 秒搞定!

com.example.DemoApplication=org.springframework.stereotype.Component
2019年4月16日

Mybatis 使用的 9 种设计模式,真是太有用了~

可以看到,该Factory的openSession方法重载了很多个,分别支持autoCommit、Executor、Transaction等参数的输入,来构建核心的SqlSession对象。
2019年4月15日

Java性能优化的50个细节,我必须分享给你!

用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。
2019年4月12日

Java中的锁原理、锁优化、CAS、AQS详解!

结论:ConcurrentHashMap使用的锁分段技术。首先将数据分成一段一段地存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。
2019年4月10日

Spring Boot 2.2 增加了一个新功能,启动飞起~

正如我们在上面所分析到的,延迟加载确实可以显着改善启动时间,但也有一些明显的缺点,所以我们一定小心谨慎的启用它。或者我们可以对项目进行评估下,延迟加载真的对我们的项目有这么重要或者急迫么?
2019年4月9日

在阿里干了5年招聘,这10条建议我必须分享给你!

来谈条件的候选人往往会被认定稳定性存疑。收入不是不重要,但不应该是决定一个人是否加入一家公司的先决条件。特别是工作数年后还对薪酬非常纠结的话,可能压根就没有对自己和外部环境有一个清晰的认识。
2019年4月7日

7点建议助您写出优雅的Java代码!

因此,一个实用的建议是:如果您不能直接联络到最终用户的话,请尽量与该系统的产品经理、或运维人员进行礼貌、且频繁的沟通。磨刀不误砍柴工,这些时间的投入对于后期时间的节省是绝对值得的。
2019年4月4日
2019年4月3日

一份完整的阿里云 Redis 开发规范,值得收藏!

Redis的事务功能较弱(不支持回滚),而且集群版本(自研和官方)要求一次事务操作的key必须在一个slot上(可以使用hashtag功能解决)。分布式事务不理解?一次给你讲清楚!
2019年4月2日

Spring Boot 实现定时任务的 4 种方式

spring-context-support这里我使用SpringBoot版本是2.0.0.BUILD-SNAPSHOT
2019年4月1日

Spring Boot 面试,一个问题就干趴下了!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年3月30日

Java并发编程中的若干核心技术,向高手进阶!

API来处理我们的流式数据,这样可以充分的利用机器的多核心资源,来提高数据处理的速度。鉴于Fork/Join框架的先进思想,理解并且学会使用Fork/Join框架来处理我们的实际问题是非常有必要的。
2019年3月29日

11个简单的Java性能调优技巧,傻瓜都能学会!

大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识。好吧,不能说这是完全错误的。优化应用程序以获得最佳性能不是一件容易的事情。但是,这并不意味着如果你不具备这些知识,就不能做任何事情。
2019年3月28日

一个比Spring Boot快44倍的Java框架!

详细报告:https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext
2019年3月25日

深入浅出Java中的clone克隆方法,写得太棒了!

clone在平时项目的开发中可能用的不是很频繁,但是区分深拷贝和浅拷贝会让我们对java内存结构和运行方式有更深的了解。至于彻底深拷贝,几乎是不可能实现的,原因已经在上一节中进行了说明。
2019年3月24日

Java集合类,一张图说清楚!

1.0引入的抽象类。作用和Iterator一样,也是遍历集合;但是Enumeration的功能要比Iterator少。在上面的框图中,Enumeration只能在Hashtable,
2019年3月23日

Static 关键字的 5 种用法,你会几种?

spuKeysMap.put("owner","所有者");}但是静态代码块和静态变量初始化有什么关系?在上文的单例模式中,我们使用了静态代码块来创建对象,为何那那样写?我在网上看到了这样一段代码:
2019年3月22日

Java 12 正式发布,8大新特性!

https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000931.html
2019年3月21日
2019年3月19日

恕我直言,在座的各位根本写不好Java!

开发中经常和移动端打交道或者做一些后端的工作,所以本篇文章更可能涉及和移动端的交互或者与后端的交互方式,笔者希望以自身的一些学习经验或者开发经验,可以带动认真阅读本篇文章的读者们,让大家对
2019年3月17日

为什么面试你要25K,HR只给你20K?

总之,想拿到期望薪资,一要技术要过硬,二要和目标公司整体非常匹配,最后也要了解目标公司的薪资状态。如果不了解,可以多问下身边的朋友同事,打听下,圈子就那么大。
2019年3月16日

Java必备的几个开发工具,你会几个?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年3月15日

推荐几个牛逼的 IDEA 插件,还带动图!

好的开发工具可以提高开发效率,所以的能让自己提高效率,把时间节省出来去学习,去提升自己。这些插件只是日常开发当中用到的一些,等到以后再发现了新的好玩的有意思,和提高工作效率的插件,继续分享出来。
2019年3月13日

一次完整的HTTP请求与响应涉及哪些知识?

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示。
2019年3月12日

最近面试 Java 后端开发的感受!

4、如果你感觉有能力,还可以准备些MySQL集群,MyCAT分库分表的技能。比如通过LVS+Keepalived实现MySQL负载均衡,MyCAT的配置方式。同样,如果可以,也看些相关的底层代码。
2019年3月11日

35岁了,还在投简历找工作?

前两天,Java技术栈知识星球里的一个粉丝和我抱怨,说他自己今年已经35+了,因为公司种种原因呆不下去了,投了好些天简历都没什么音讯,面试的机会比前几年也明显少了很多,问我有不有好单位可以有介绍的。
2019年3月10日

代码不规范,同事两行泪,撸码七宗罪!

但是在数字化时代,发明创造的方式发生了变化。现在,我们都创造数字化产品。我们建网站、写软件来满足我们的需求。虽然我们创造不再依赖于我们的创造力,但是我们仍然可以与艺术家其名。
2019年3月8日

推荐一个技术圈子,30k的offer靠它了!

加入知识星球后,把简历发到知识星球,去掉自己的个人敏感信息,栈长会以多年的经验帮你诊断,指出你简历中应该注意和改正的地方。同时,球友们也会帮你指正,你也可以参考别人的简历,提升面试成功率。
2019年3月8日

程序员面试字节跳动,被怼了~

我蠢到一开始就动用了我所有的人脉,投了bat及其他二线大厂所有的内推。算上字节跳动已经是我黄掉的第三个响当当大厂了,踩着大厂当垫脚石攒面试经,除了觉得自己蠢,我还觉得自己真特么牛逼。
2019年3月7日

小伙子,你真的搞懂 transient 关键字了吗?

Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。
2019年3月6日

Spring MVC & Boot & Cloud 系列干货,2019最新版,速度收藏!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年3月4日

阿里巴巴26个屌炸天的开源项目,你知道几个?

VM,是国内第一个优化、定制且开源的服务器版Java虚拟机。目前已经在淘宝、天猫上线,全部替换了Oracle官方JVM版本,在性能,功能上都初步体现了它的价值。
2019年3月3日

2019年值得加入的技术圈子,你来不来?

加入知识星球后,把简历发到知识星球,去掉自己的个人敏感信息,栈长会以多年的经验帮你诊断,指出你简历中应该注意和改正的地方。同时,球友们也会帮你指正,你也可以参考别人的简历,提升面试成功率。
2019年3月2日

美团技术四面经历,作者已拿到Offer!

3、在collabedit上在线写代码,题目很简单是编程之美上的原题,一个有序的整数数组,输出两个数,使它们的和为某个给定的值。之前做过很快写好,然后给他讲思路。他继续问如果数组无序怎么办,先排序。
2019年3月1日

Java 并发编程面试必备的知识点!

听到这个问题,小部分同学会很坦白的说,我平时用过线程池,但是没有了解过内部是怎么实现的。偶尔也会有同学反怼,我会用不就行了么,为啥要知道咋实现!碰到这样的同学,我只能说,嗯,你说的对。
2019年3月1日

老大难的分布式锁与幂等性问题,如何解决?长文干货!

指令执行时,monitor的进入数减1,如果减1后进入数为0,那线程退出monitor,不再是这个monitor的所有者。其他被这个monitor阻塞的线程可以尝试去获取这个monitor的所有权。
2019年2月28日

服务端 I/O 性能大比拼:Node、PHP、Java、Go哪家强?

本质上,Node实现的范式不是基本上说“在这里编写代码来处理请求”,而是转变成“在这里写代码开始处理请求”。每次你都需要做一些涉及I/O的事情,发出请求或者提供一个当完成时Node会调用的回调函数。
2019年2月27日

Spring Boot 最核心的 25 个注解,都是干货!

@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan
2019年2月26日

软件开发中的开源协议详解!

license)无任何限制的允许你以任何目的二次分发这种软件,唯一的要求是必须保留拷贝权的声明和协议里的软件权利放弃条款。这种协议还有一个限制,未经许可不得使用这个作品的所有曾经捐助者的署名。
2019年2月25日

雷布斯 25 年前写的代码,你见过吗?厉害了!

当然,上面的只是雷军生活中的一个小插曲。曾经,雷军认为自己会干一辈子的编程。但是现在,雷军作为小米董事长,身价已经不能用数字来衡量了。他接触程序的机会,相信是少之又少,因为下面有很多程序员帮他干活。
2019年2月24日

为什么要在分布式系统中使用缓存?

分布式缓存正确工作是一个巨大挑战。例如,必须谨慎处理本地缓存失效,即替换或删除缓存条目。每次更新或删除存储计算机本地缓存中的信息时,必须更新分布式缓存系统所有计算机内存中的缓存。
2019年2月22日

来,带你鸟瞰 Java 中的并发框架!

CompletableFuture.supplyAsync(JsonService::getComments,ioExecutorService);CompletableFuture
2019年2月21日

推荐一款接口 API 设计神器!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年2月20日

秒杀系统必须考虑的 3 个技术问题!

然后,我们现在解决了锁的问题,全部请求采用“先进先出”的队列方式来处理。那么新的问题来了,高并发的场景下,因为请求很多,很可能一瞬间将队列内存“撑爆”,然后系统又陷入到了异常状态。
2019年2月19日

来,重新认识一个强大的 Gson!

gsonBuilder.serializeNulls().create().toJson(map);System.err.println(jsonString1);
2019年2月18日

知乎牛逼,可以当百度用。。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年2月17日

全球最厉害的 14 位程序员,请收下我的膝盖~

C编译器,LZEXE解压缩软件。在2000年与2001年赢得国际C语言混乱代码设计大赛冠军;2011年赢得谷歌O’Reilly开源设计奖;前圆周率计算精度世界纪录保持者。
2019年2月17日

如何看出一个程序员的技术水平?

要查看人用什么开发工具链,用什么开发环境,解释下为什么?好的开发者会及时注意新出现的工具,挖掘它能解决什么问题,并尝试吸收,解决自己的需求。推荐阅读:最新后端架构师技术图谱!附学习资料~
2019年2月16日

服气了,情人节程序员是怎样把女朋友聊没的?

女生主动搭讪已经很不容易了,你竟然说你忙?!要知道,女生想找你聊天就是说明对你还是很有好感的。如果你真的很忙,那你应该说:“晚上我没事,要不吃饭的时候聊呗?”
2019年2月15日

10 个深恶痛绝的 Java 异常。。

内存异常异常,这不是程序能控制的,是指要分配的对象的内存超出了当前最大的堆内存,需要调整堆内存大小(-Xmx)以及优化程序。
2019年2月15日

狗屎一样的代码!快,重构我!

对象技术的新手通常不愿意在小任务上运用小对象——结合数值和比重的money类、有一个起始值和一个结束值组成的range类。将原本单独存在的数值替换成对象,从而走出传统的洞窟,进入炙手可热的对象世界。
2019年2月14日

Spring Boot 如何做参数校验?

https://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/core.html#validation
2019年2月13日

把 14 亿人拉到一个微信群,如何实现?

剩下的就是斗图闲聊,数据直接云存储在服务器端,分析处理总结出来个中心思想每多少秒多少秒推送给个人用户一次,就差不多了,需要详细信息的上服务器检索,个人觉得对个人终端的压力也不会太大。
2019年2月12日

Java 11 比 Java 8 究竟快多少?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年2月11日

Java程序员必学:Spring全家桶学习指南!

课程中有大量的示例,还有一个贯穿始终的在线咖啡馆系统——SpringBucks,包含了下单、制作、派送的步骤,随着课程的推进会不断丰满,会基于Spring
2019年2月11日

月薪 2W+ 程序员,过年相亲,三次遭拒!

王杰欲哭无泪,我这么卖力的逗你开心,不就是为了给美女你一个好印象嘛,还有长得帅也是错了?吸取了第一次相亲失败的教训,王杰决定第二次相亲少说话,为了显得自己成熟稳重些,还特意换上了很久都没穿的西装。
2019年2月9日

流弊!208亿次红包的流量竟然没有宕机,百度是怎样做到的?

B市场,2019年,市场竞争将更加激烈。业内人士认为,经历过春晚红包场景的洗礼,百度云向市场证明了其服务的成熟技术能力、创新产品能力和稳定保障能力,将充满实力面对2019年的市场竞争。
2019年2月6日

拜年拜年,红包红包,手快有…

有向图,无向图,有环图,无环图,完全图,稠密图,稀疏图,拓扑图祝您新年宏图大展。最长路,最短路,单源路径,所有节点对路径祝您新年路路通畅。
2019年2月5日

过年怕亲戚问工资?4 招轻松投敌!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年2月4日

18 对程序员专属对联,对对扎心~

快过年了,包子也没啥送给大家的,给各位辛苦工作的程序员送几幅春联,其中几幅建议大家贴在老板办公室门上或者送给产品经理,具体是哪几幅,大家自己斟酌~祝大家早日高升!
2019年2月3日

厉害了,史上最 “污” 技术解读。。

假设你是个妹子,你男朋友风流倜傥,你总担心他出轨,于是你在他身上安装了一个窃听器,里面内置了一些可疑女生勾搭行为的特征库,只要出现疑似被勾搭的情况,就会立刻向你报警,这叫入侵检测系统(IDS)。
2019年2月2日

2018 年让程序员崩溃的 60 个瞬间,笑死我了。。。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2019年2月1日

为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……

有时候你可能真不想跳槽,被迫离开公司,你可能在公司干得非常好,工作很开心,同事关系也不错,但人都是要往上走的,都是要吃饭的,工作是为了啥,肯定不是为了情怀,而是为了让自己和家人有更好的生活。
2019年1月31日

推荐一款代码神器,代码量至少省一半!

@Flogger@Data@Builder@Singular@Delegate@Value@Accessors@Wither@SneakyThrowsfrom
2019年1月30日

面试常问,缓存三大问题及解决方案!

used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。最常见的实现是使用一个链表保存缓存数据,如下图所示
2019年1月29日

为什么面试很多次,失败后才知道?

问答:为你深入分析面试中常见的几类问题,包括如何解释清楚一个技术点,如何体现你在项目中的重要性等,从而在面试中把与职位匹配的部分充分、有效、有力度地展现出来,最大限度地得到认可。
2019年1月28日

Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝!

https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available
2019年1月26日

从 0 开始搭建一个技术博客,私藏干货~

大概的博客搭建及文章发布的操作就这些了,其实这里面还有更多的细节,包括插件、自定义主题、永久链接、文章分类、标签等,更多的大家可以去
2019年1月25日

2019 年 1 月已到,Java 8 要收费了吗?

来源:oschina.net/news/103824/java8-update-charge整编:Java技术栈(公众号ID:javastack)
2019年1月24日

向高手进阶,从 0 开始手写实现一个 RPC 框架!

上图简单的描述了RPC在实际场景中的应用,我们在开发中当然是利用现有的RPC框架来快速实现业务需求,比如百度开源了baidu-rpc,阿里的Dubbo早已声名在外,腾讯自己玩TAF。一文告诉你
2019年1月22日

参数验证 @Validated 和 @Valid 的区别,Java Web 开发必备。

来源:blog.csdn.net/qq_27680317/article/details/79970590整编:Java技术栈(公众号ID:javastack)
2019年1月21日

年底了,是时候做个了断了。。。

也感谢腾讯微信公众号、咆泡教育、网易云课堂、图灵学院、潭州教育、云析学院、开课吧、极客时间、以及其他各大教育机构、出版社、媒介、公众号……等合作伙伴们对我们的信任、赞助和支持。
2019年1月19日

别再写 bug 了,避免空指针的 5 个案例!

种,其实还有更多,如何避免空指针,一是要注意代码编写规范,二是要提高代码素养。在Java技术栈微信公众号后台回复关键字:Java,可以获取更多栈长整理的
2019年1月18日

从 0 开始手写一个 Mybatis 框架,三步搞定!

我们经常在使用框架时看到Session,Session到底是什么呢?一个Session仅拥有一个对应的数据库连接。类似于一个前段请求Request,它可以直接调用exec(SQL)来执行SQL语句。
2019年1月17日

StringBuffer 和 StringBuilder 的 3 个区别!

的几个区别和它们的应用场景,如果你是大牛,请略过,如果你是菜鸟,或者对这两个不是很清楚,可以学习一下,也可以为年底的面试加油冲刺。
2019年1月16日

Zookeeper 集群安装配置,超详细,速度收藏!

/usr/local/zookeeper集群配置Zookeeper集群原则上需要2n+1个实例才能保证集群有效性,所以集群规模至少是3台。
2019年1月15日

Java Web 开发必须掌握的三个技术:Token、Cookie、Session

这样,就导致客户端频繁向服务端发出请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否。而Session的存储是需要空间的,频繁的查询数据库给服务器造成很大的压力。
2019年1月14日

在阿里干了五年,面试个小公司挂了…

不过也有同行表示:美企都是这种面试风格,即使你刷过了一遍leetcode,你也不一定能现场解出一道变形题,我觉得比起问项目经验、问那些搜索一下就能搜到答案的吹牛皮题目,问算法题要靠谱得多。
2019年1月13日

2019 好戏连连,阿里又开源了一个分布式事务框架!

又开源了,开源框架名叫:FESCAR,并发布了第一个开源版本:v0.1.0,大家苦于分布式事务无解的可以参考下这个开源框架,或者其思路对你有帮助。
2019年1月12日

Redis 这么火,它都解决了哪些问题?

假如这个api每秒接收到的请求时100个,那么一分钟就是6000个,也就是只有前2秒拥挤过来的请求会耗时2秒,后续的58秒中的所有请求都可以做到即使响应,而无需再等2秒的时间。推荐阅读:Redis
2019年1月10日

新年放大招:Github 私库免费了!

后续的发展,请持续关注Java技术栈微信公众号,栈长将第一时间跟进最新动态。你也可以在后台回复:动态,获取栈长整理的更多往期热门好玩的技术资讯。
2019年1月9日

IntelliJ IDEA 从入门到上瘾教程,2019图文版!

本地仓库的地址是自动生成的,通常在C盘的用户目录里,所以在实际开发中推荐大家指定本地仓库的地址,避免因重装系统或被第三方安全工具清理而丢失数据。Maven的配置很简单,删掉注释后一目了然。如图:
2019年1月8日

超详细的 Git 实战教程,傻瓜一看也会!

Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
2019年1月7日

五种牛逼程序员,你属于哪一种?

不管怎么说,他们在软件开发的诸神殿上都占有一席之地。如果你的团队中没有一个合适健康的比例,混合这些不同类型的程序员,要么你会发现你的项目跌跌撞撞拖的时间太久,要么就是太完美不是人类干的活。
2019年1月6日

年底了,如何准备 Java 初级和高级的技术面试?

大多数的候选人(大概7成)直接就来了,不做任何准备。要知道,面试和项目其实有些脱节,哪怕项目做得再好,不做准备照样通不过,只要我确认过这类人确实无法达标,我拒掉他们没任何心理负担,谁让他们不准备?
2019年1月5日

阿里启动新项目:Nacos,比 Eureka 更强!

服务注册中心,它是服务,其实例及元数据的数据库。服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由器的客户端查询服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康检查
2019年1月4日

Redis 为什么这么快?

前面说过,Redis每个对象由一个redisObject结构表示,它的ptr指针指向底层实现的数据结构,而数据结构由encoding属性决定。比如我们执行以下命令得到存储“hello”对应的编码:
2019年1月3日

运行 Spring Boot 应用的 3 种方式!

https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/
2019年1月2日

过了所有技术面,却倒在 HR 一个问题上。。

最后,她出去一会,再进来,和我说不合适,让我回去。面了三、四个小时,说走就走,一点也不留情面,感觉很草率。前面过了几轮都没用,浪费时间,最后却因为她的一翻不愉快的谈话就终止了面试。
2018年12月29日

详解 Java 中 4 种 I/O 模型

阶段1:等待数据就绪。网络I/O的情况就是等待远端数据陆续抵达,也就是网络数据被复制到内核缓存区中,磁盘I/O的情况就是等待磁盘数据从磁盘上读取到内核态内存中。
2018年12月28日

Spring Boot 的 10 个核心模块

开发阶段提供一些特性,如修改了代码自动重启应用等。这个模块的功能是可选的,只限于本地开发阶段,当打成整包运行时这些功能会被禁用。
2018年12月27日

Java 8 开发的 4 大顶级技巧

我所做的性能测试表明这种重构令人惊讶——并不总是可预测性能是保持不变,改善还是变得更糟。与往常一样,如果性能在应用程序中是关键,那么在交付一种风格到另一种之前衡量它。
2018年12月25日

最新开源项目 Confluo,吞吐量是 Kafka 的 4 到 10 倍!

https://rise.cs.berkeley.edu/blog/confluo-millisecond-level-queries-on-large-scale-streaming-data
2018年12月24日

46 道阿里巴巴 Java 面试题,你会几道?

感觉到答案说出来对方会不待见的时候,可以这么做:有关联性的答非所问,注意强调自己的想法,争取让面试官能够共情,比如深圳的房价可以引人共情、电商相关的大平台、稳定、有上升空间等。
2018年12月22日

Eclipse 4.10 正式发布,完全支持 Java 11!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年12月21日

Spring Cloud 微服务架构的五脏六腑!

服务化即是拆解的一种手段。而上面圆括号里面的内容其实就对应了一个服务化架构的最小组成元素,分别是服务、服务调用、注册中心、服务注册、服务发现。有了这些基本的组成要素,就可以实现一个最简单的服务架构。
2018年12月21日

Spring Boot 返回 XML 数据,一分钟搞定!

jackson-dataformat-xml不用带版本号,因为在
2018年12月20日

HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!

http://www.javastack.cn/article/2018/hashmap-concurrenthashmap-details/
2018年12月19日

Java 中创建对象的 5 种方式!

我们可以通过这个newInstance方法调用有参数的和私有的构造函数。大家也可以看下《instanceof、isInstance、isAssignableFrom》这篇文章。
2018年12月18日

JSON是什么,为什么这么流行?

其实我在为公司面试的时候,我经常有提到,假如我不知道JSON是个什么玩意?你怎么告诉我,让我知道是个什么东西。(下面都是我的个人理解,因理解因人而异,受用即可!)
2018年12月17日

周末去面试,进去 5 分钟就出来了…

不要年纪上去了,对于底层知识却不知道一二,不然随着年纪的不断增长,被淘汰的风险就越大,这样对于一个靠编码吃饭的程序来说,真的很可怕!
2018年12月16日

从 0 开始手写一个Tomcat,7 步搞定!

前文说Tomcat是满足Servlet规范的容器,那么自然Tomcat需要提供API。这里你看到了Servlet常见的doGet/doPost/service方法。
2018年12月15日

Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

那么会在feign.hystrix.HystrixFeign.Builder#build(feign.hystrix.FallbackFactory)
2018年12月15日
2018年12月14日

面试常考:Synchronized 有几种用法?

这个也是我们用得最多的,只要涉及线程安全,上来就给方法来个同步锁。这种方法使用虽然最简单,但是只能作用在单例上面,如果不是单例,同步方法锁将失效。
2018年12月13日

Java 11 已发布,String 还能这样玩!

java.lang.OutOfMemoryErrorSystem.out.println(str.repeat(Integer.MAX_VALUE));所以说
2018年12月12日

用 Git 和 Github 提高效率的 10 个技巧!

过滤从昨天开始的提交。例如:链接,https://github.com/rails/rails/compare/master@{1.day.ago}…master
2018年12月11日

Hashtable 为什么不叫 HashTable?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年12月10日

Java 中 String 对 null 对象的容错处理!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年12月9日

忍无可忍,无需再忍,我拉黑了几十个粉丝。。。

大家可自行看下历史推送文章,绝大部分都是技术干货,广告真的少之又少,我都尽量不推广告,连送福利类的隐性广告我都不做了,哪里就知道发广告,哪里专门打广告?wtf…
2018年12月8日

分布式事务不理解?一次给你讲清楚!

为了保证操作的可查询,需要对于每一个服务的每一次调用都有一个全局唯一的标识,可以是业务单据号(如订单号)、也可以是系统分配的操作流水号(如支付记录流水号)。除此之外,操作的时间信息也要有完整的记录。
2018年12月7日

Java 中初始化 List 集合的 6 种方式!

"apple");System.out.println(apples);这种方式添加的是不可变的、复制某个元素N遍的工具类,以上程序输出:
2018年12月6日

HashMap 和 Hashtable 的 6 个区别,最后一个没几个人知道!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年12月5日

图解 Java 中的数据结构及原理,傻瓜也能看懂!

数学厉害的人我见了不少,数学课也学得够多了,读了几篇黄申在极客时间开设的专栏《程序员的数学基础课》,很想推荐给大家,这个专栏非常适合想扎实打下数学基础的程序员和准程序员。
2018年12月4日

现在该用 Java 12,还是坚持 Java 11?

的观点是,因为每个版本仅在前一个版本发布后的6个月推出,所以不会有太多新的“东西”,因此升级并不困难。虽然如此,但这不是重点。重要的是升级是否有可能会破坏代码。很明显,从
2018年12月3日

毕业不到一年,绩效打了个D!

说说栈长的事迹吧,这是好多年前的事了,那时候,栈长才毕业不到一年,那次绩效打了个D!事后,我很气愤啊,我那时还在博客上写文章怒骂了部门经理,现在想起来,真是好笑。
2018年12月2日

Hystrix 停止开发。。。Spring Cloud 何去何从?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月30日

Java 程序员必须清楚的 7 个性能指标

但单纯的错误率数据对我们没有多大帮助。最重要的是我们要找到它们的根源并解决问题。随着Takipi的运行,我们要在日志文件中需找线索。你可以找到所有关于服务器状态的信息,包括堆栈跟踪、源代码和变量值。
2018年11月29日

技术微信群这么多,没几个有价值的!

微信群犯罪成本很高,首先就必须要付费成为星球用户,另外群规也相当森严,违规一次在群里发10元/10个红包,不执行就踢,所以极少有垃圾内容,广告分子就更别想进了;
2018年11月29日

Gradle 5.0 正式版发布,史上最快、最安全!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月28日

多线程通信的三大法器,你真的会用吗?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月27日

Intellij IDEA Debug 调试技巧

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月26日

为什么面试完,总是让你回去等通知?

这个就是大公司病了,有一年,年前,栈长也去某大公司面试过。当时面试感觉还行,也是让我回去等通知,但好些日子过去了,以为没戏了,我都放弃了,结果年后上班一个月了又通知我去谈工资。。。
2018年11月24日

老板让你抗住千万级流量,如何做架构设计?

正常处理正常处理正常处理正常处理正常处理处理失败正常处理处理失败处理失败处理失败正常处理处理失败正常处理处理失败正常处理正常处理正常处理正常处理处理失败处理失败
2018年11月23日

厉害了,Spring Cloud for Alibaba 来了!!!

阿里云SLS,一站式日志管理服务,是一款阿里巴巴集团行之有效的工具,经历了一次又一次的大数据挑战。它能在不污染任何代码的情况下,快速收集、使用、交付、查询和分析日志数据。
2018年11月22日

感恩节,栈长微信,微信群,知识星球通通都有……

大家遇到不懂的知识点,工作当中难解决的问题,都可以在星球上提问,让更多的人帮你提供解决思路,少走弯路,快速进步。栈长也会分享一些公众号上面不方便分享的干货和实在的福利给大家。
2018年11月22日

12 个非常有趣的 Linux 命令!

栈长也是如此,经常看到服务器频繁告警,有时候却不知所措。最近看到倪朋飞老师的《Linux性能优化实战》专栏,来得很及时,看了下,感觉内容还不错,故在此推荐给大家。
2018年11月22日

前后端分离与不分离的本质区别!

,前端与后端的耦合度相对较低。在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
2018年11月21日

漫画:HTTP 协议极简教程,傻瓜都能看懂!

协议自身不对请求和响应之间的通信状态进行保存。任何两次请求之间都没有依赖关系。直观地说,就是每个请求都是独立的,与前面的请求和后面的请求都是没有直接联系的。协议本身并不保留之前一切的请求或
2018年11月21日

多线程 Thread.yield 方法到底有什么用?

栈长-----28栈长-----29栈长-----30栈长-----31而如果我们把两个线程加上线程优先级,那输出的结果又不一样。
2018年11月20日

微信扫码登录是如何实现的?

扫码登录大概的思路是:微信手机客户端从网页二维码里面得到一些信息,然后发送给网页微信的服务器,网页服务器验证信息并响应。下面,我们借助火狐浏览器提供的Firebug工具看看,到底是怎么一回事儿吧!
2018年11月19日

面试 Java 高级后端开发,要准备哪些知识点?

第一:一定得结合项目背景,比如大家要准备分布式缓存redis,先说在哪个项目的哪个场景里用到,比如在刚才提到的电信系统里。这样就会让面试官感觉到这个技术你实际用过,而不是简单地只有学习经验。
2018年11月18日

32 岁程序员去面试,因年龄太大被直接送走。。

32岁在程序员中其实已经可以算得上是大龄了,很多公司都不敢招收,第一是怕养不起,比较32岁的程序员绝大多数都是架构师级别的,而公司职位可能只是需要普通的Curd岗,入不敷出!
2018年11月17日

Spring Boot 自定义日志详解

默认提供配置的形式非常简单,只适合简单的日志应用,虽然说日志输出格式可以自定义,但日志文件如何按天滚动等其他更复杂的策略却不能配置,只能通过自定义引用日志文件的形式。
2018年11月16日

超详细 Nginx 极简教程,傻瓜一看也会!

D:_WorkspaceProjectgithubzpSpringNotesspring-securityspring-shirosrcmainwebappiews;
2018年11月15日

Spring Boot 2.1.0 已发布,7 个重大更新!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月14日

刚写完排序算法,就被开除了…

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月13日

非常详尽的 Shiro 架构解析!

Shiro的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应该尽可能掩盖复杂的地方,露出一个干净而直观的API,来简化开发人员在使他们的应用程序安全上的努力。
2018年11月13日

关于 Java 序列化你不知道的 5 件事

开发人员诧异并感到不快的是,序列化二进制格式完全编写在文档中,并且完全可逆。实际上,只需将二进制序列化流的内容转储到控制台,就足以看清类是什么样子,以及它包含什么内容。
2018年11月12日

栈长写了这么多文章,为什么不出书?

所以,栈长看来,要写一本真正有价值的书,作者一定要对这个技术有非常深刻的理解,有大量的实践及踩坑经验,这样写出来的书才能对后来学习或者应用者有非常大的帮助。
2018年11月11日

多线程 start 和 run 方法到底有什么区别?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月10日

Java多线程可以分组,还能这样玩!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月9日

干货:阅读跟踪 Java 源码的几个小技巧!

可以看到其实现的子类,点击子类进去即可。此方法还适用于框架中非常常见的模板方法模式,在抽象类中定义的模板方法,用这招轻松找到实现类。
2018年11月8日

深入浅出 Java 中 JVM 内存管理

是为了JVM运行native方法准备的空间,由于很多native方法都是用C语言实现的,所以通常又叫C栈,它与Java虚拟机栈实现的功能类似,只不过本地方法栈描述本地方法运行过程的内存模型
2018年11月7日

Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。
2018年11月6日

面试再问值传递与引用传递,把这篇文章砸给他!

可通过上面的实例我们可能就会觉得java同时拥有按值调用和按引用调用啊,可惜的是这样的理解是有误导性的,虽然上面引用传递表面上体现了按引用调用现象,但是java中确实只有按值调用而没有按引用调用。
2018年11月5日

IG赢了,微博挂了,朋友圈炸了……

有人说司机是故意的,我觉得应该不太可能,司机不会蠢到连自己都不想活了吧?所以,为了保护自己的生命安全,再遇到此类事件,正确的姿势是应该站出来将扰乱司机的人制止后报警,而不是事不关己。
2018年11月4日

牛逼哄哄的 RPC 框架,底层到底什么原理?

我们通过将方法参数进行处理后,就要使用发起网络请求,使用tcp传输的就利用socket通信进行传输,这一块我开源项目中使用的同步堵塞的方案进行请求,也可以使用一些非堵塞方案进行请求,效率会更高一些。
2018年11月2日

刚写完这段代码,就被开除了……

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年11月1日

Redis 高可用特性之 “持久化” 详解

方案时,不仅介绍它的作用及操作方法,同时介绍持久化实现的一些原理细节及需要注意的问题。最后,介绍在实际使用中,持久化方案的选择,以及经常遇到的问题等。
2018年10月31日

1 分钟教会你用 Spring Boot 发邮件

org.springframework.boot.autoconfigure.mail.MailSenderPropertiesConfiguration
2018年10月30日

你必须掌握的 21 个 Java 核心技术!

在多线程中内容有很多,只是简单说明一下Java中初步使用多线程需要掌握的知识点,以后有机会单独再详细介绍一些高级特性的使用场景。在Java技术栈公众号回复"多线程"可获取多线程系列教程。
2018年10月29日

Spring/ MVC/ Boot/ Cloud 干货都在这里了,不看血亏!!!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年10月28日

都几套房了,还写个毛的代码!

点多了,星球上的一位粉丝还在微信上给我发消息,说遇到一个很不好理解的技术问题,问我为什么。博主我本来都要睡了,本想第二天再回复他的,不过看他的问题有点意思,于是回复了一下。
2018年10月28日

Java程序员必看的 13 本 Java 书籍!

之前刚刚读了《大型网站架构技术》,算是同一个大主题,但前者主要讲网站机构的理论和最佳实践,而这本书则实践性比较强,还涉及了java网络编程,并行编程,jvm性能调优等等,每个方面都值得深入研究。
2018年10月27日

Redis 常用操作命令,非常详细!

1列表操作命令列表类型是一个有序的字段串列表,内部是使用双向链表实现,所有可以向两端操作元素,获取两端的数据速度快,通过索引到具体的行数比较慢。
2018年10月26日

Spring 框架用到的 9 个设计模式汇总!

知识只有共享才能传播,才能推崇出新的知识,才能学到更多,这里写的每一篇文字/博客,基本都是从网上查询了一下资料然后记录下来,也有些是原滋原味搬了过来,也有时加了一些自己的想法。
2018年10月25日

Java 必须掌握的 12 种 Spring 常用注解!

MVC的配置支持,如一些ViewResolver或者MessageConverter等,若无此句,重写WebMvcConfigurerAdapter方法(用于对SpringMVC的配置)。
2018年10月23日

分布式系统中处理参数配置的 4 种方案

这样只能解决了不同操作系统上面的配置,不能灵活动态修改,每次更新只能重新打包或者在线修改配置文件,而且信息也难于同步,如果项目少还好,项目多起来,配置还要经常变动,这样变得异常烦琐。
2018年10月22日

面试时如何介绍自己的项目经验?

在项目介绍的时候(当然包括后继的面试),面试官其实很想要听一些关键点,只要你说出来,而且回答相关问题比较好,这绝对是加分项。我在面试别人的时候,一旦这些关键点得到确认,我是绝对会在评语上加上一笔的。
2018年10月21日

10 道关于 Java 泛型的面试题

T>它通过确保类型必须是T的父类来设定类型的下界。泛型类型必须用限定内的类型来进行初始化,否则会导致编译错误。另一方面表示了非限定通配符,因为可以用任意类型来替代。
2018年10月21日

金九银十跳槽季,史上最强 Java 面试题整理!

希望我们提供的面试题帮助各位在金九银也好,年底冲刺也罢,都能通关各种面试,有不对之处还请指正,觉得不错,还请点赞转发一下。
2018年10月20日

GitHub 发布了一款重量级产品,可直接运行代码!

此外,自2017年以来,HCL(DevOps的可读语言)的贡献者数量增加了一倍以上。由于在机器学习领域广受欢迎,Python的增速排名第8,Go的贡献者比去年增加了1.5倍。
2018年10月20日

重磅:Redis 5.0 正式版发布了,19 个新特性!

https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES
2018年10月19日

难得的好文:如何构建一套高可用的 APP 消息推送平台

移动推送平台提供统一的服务,对于应用层屏蔽推送服务接口,且实现推送服务可动态轮替。推送平台将接收到的消息持久化到数据库中,方便进行消息推送失败后的重发,以及后续数据的统计分析。
2018年10月18日

微博什么技术啊……还说支持八个明星并发出轨,结果…

女神就是女神,微博一发,由于巨大的流量同时涌入微博,造成了微博服务器陷入瘫痪,有的网友表示打开微博巨卡,有的网友搜索关键字赵丽颖显示网络异常,有的网友点击照片打不开等各种网络故障问题。。。
2018年10月17日

Spring Boot 最核心的 3 个注解详解

@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Configurationpublic
2018年10月16日

有时候,解决问题比写代码更重要!

如果你意识到企业想要实现什么以及对用户的价值是什么的话,你可以将哪方面的知识跟你对技术可能做到什么的知识融为一体。只有这样你才会具备足够的信息来想出更好的答案并且得出结论说界面对产品来说毫无必要。
2018年10月15日

Google的面试题长啥样?看完被吊打!

每次面试,我基本都会分成两个部分:首先我们找出算法方案,然后让面试者在代码中实现。我说“我们找出算法方案”,因为这个过程我不是沉默的独裁者。在这样高压下,设计并实现一种算法,45分钟时间并不算充足。
2018年10月14日

紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人!

Starters包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖。具体请看这篇文章《Spring
2018年10月13日

告诉你,Spring Boot 真是个牛逼货!

org.springframework.boot:spring-boot-starter-logging:jar:2.0.1.RELEASE:compile[INFO]
2018年10月12日

收藏起来,史上最全的 MySQL 高性能优化实战总结!

在进行数据库优化时,应由数据库管理员、业务部门代表、应用程序架构师、应用程序设计人员、应用程序开发人员、硬件及系统管理员、存储管理员等,业务相关人员共同参与。
2018年10月11日

告别狗屎代码,请记住这 11 条编码秘诀!

这是一篇值得收藏起来,隔三差五就拿来重读的文章!因为作者向你保证,他“遇到的所有糟糕的代码,都是因为没采纳这些实践经验。而任何一段优秀的代码,都采纳了至少部分实践经验。”
2018年10月10日

两张趣图助你理解 HTTP 状态码!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年10月10日

正则表达式真的很骚,可惜你不会写!

针对这种情况,正则提供了转义的方式,也就是要把这些元字符、限定符或者关键字转义成普通的字符,做法很简答,就是在要转义的字符前面加个斜杠,也就是\即可。如:要匹配以(ab)开头:
2018年10月9日

Elastic Search 上市了,市值翻倍,这群人财务自由了!

收费意味着可以有更好的安全保障及售后服务,但国内貌似都喜欢折腾,一方面也为了数据安全性,所以大多使用的是开源版本。对数据不敏感,且没有能力折腾开源版本的可以使用其收费云服务,并且官方提供免费
2018年10月7日

一个程序员的国庆血泪相亲史,惨败而归…

很快,车就到了女孩的楼下,就在市区某学校附近的一个小区内。晚风拂袖,小区很老,在这个县级市内格外显得神秘。上楼前,父亲塞给我两包烟,说到时候见到男人就发烟。父亲知道我是不抽烟的,但这个礼节不能丢。
2018年10月6日

Java 程序员必须掌握的 8 道数据结构面试题,你会几道?

链表是另一个重要的线性数据结构,乍一看可能有点像数组,但在内存分配、内部结构以及数据插入和删除的基本操作方面均有所不同。关注Java技术栈微信公众号,回复"面试"获取更多博主精心整理的面试题。
2018年10月5日

面试官再问你如何看待\b义务加班,学会如何怼回去!

说白了,这老板拿人当傻逼。所以,他就只能招到傻逼。能干出事的智商在线的聪明人,谁乐意给别人当牲口?牲口天擦黑就还回圈歇着呢!所以,这家公司必然完蛋,她家要是有出息,下半辈子我大头朝下走。
2018年10月4日

大过节的,一程序员在火车站候车室写起了代码…

一名程序员大哥回到老家开起了水果店,直言睡眠好多了,脸色也红润了起来,身体也感觉健康了不少,还有一名程序员回到老家做起了盆栽生意。
2018年10月3日

史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!

可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求。
2018年10月2日

9 月份「阅读最高」的 10 篇技术文章 | 文末怒送 15 本书…

第5部分从整洁架构的定义开始,详细阐述软件架构设计过程中涉及的方方面面,包括划分内部组件边界、应用常见设计模式、避开错误、降低成本、处理特殊情况等,并以实战案例将内容有机整合起来;
2018年9月30日

这可能是史上最全 Redis 高可用解决方案总结

系统(需要开发),当主库节点出现故障时,需要手动将一个从节点晋升为主节点,同时需要通知业务方变更配置,并且需要让其它从库节点去复制新主库节点,整个过程需要人为干预,比较繁琐;
2018年9月29日

Eclipse 4.9 正式发布,支持 Java 11!

模式时,子项目中的错误标记现在会报告给父节点,包括其他项目中的父项目和文件夹。通过该功能我们可以轻松检测错误,并在项目层次结构折叠时从
2018年9月28日

Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码

HttpResponse.BodyHandlers.ofString());System.out.println(response.body());//
2018年9月27日

一个致命的 Redis 命令,导致公司损失 400 万!!

看完这个消息后,我心又一惊,为什么这么低级的问题还在犯?为什么线上的危险命令没有被禁用?这事件报道出来真是觉得很低级。。。
2018年9月26日

等重构完这系统,我就提离职!

当你看到前任写成一团毛球的代码块;新增几行代码需先捋半天逻辑的超级大函数;好不容易在迷宫里找到方向,小心翼翼地添加上新代码,却将别的调用系统给弄垮时;还有运行缓慢的老系统……
2018年9月25日

为了写中秋这篇文章,我学了 20 种编程语言!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年9月24日

别瞎传了,美枪杀程序员事件是造谣!!!

程序员真是脆弱的群体,动不动就拿程序员开刀,杀个程序员祭天也好,程序员和产品干架也罢,都说明了程序员不是一个好当的职业。做的好,是程序员应该做的,做的不好就要背锅了,甚至成为利益的牺牲品,炮灰。
2018年9月24日

中秋节你们公司发了什么?我们发了这个。。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年9月23日

一文搞懂 Java 线程中断

是由系统强制终止线程,而线程中断则是给目标线程发送一个中断信号,如果目标线程没有接收线程中断的信号并结束线程,线程则不会终止,具体是否退出或者执行其他逻辑由目标线程决定。
2018年9月22日

顺丰删库跑路事件后,你必须掌握的 8 大对策!

权限问题永远是大问题,做好权限回收,开发数据库和线上数据库分离,线上数据库管理权限(一般指修改表结构权限与删表权限)禁止回收,也不提供给业务直接用。
2018年9月21日

sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年9月19日

架构师的工作都干些什么?!想做架构师必看!

3、解决技术问题。这些问题未必是架构级别的,但只要是高级开发解决不了的问题,架构一般都得上,谁让架构是大牛呢?如果是架构组件方的问题,比如配置或部署方面的问题,架构师更得上。
2018年9月18日

Java 中的 String 真的是不可变的吗?

String.class.getDeclaredField("value");field.setAccessible(true);char[]
2018年9月17日

37 个 MySQL 数据库小技巧,不看别后悔!

默认的,在MySQL中,AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。设置自增属性(AUTO_INCREMENT)的时候,还可以指定第一条插入记录的自增字段的
2018年9月16日

深入浅出 Java 中的包装类

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年9月14日

10 种保护 Spring Boot 应用的绝佳方法

Boot大大简化了Spring应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量,如果你已经习惯了Spring和大量XML配置,Spring
2018年9月13日

给你一份超详细 Spring Boot 知识清单

Boot冗长无比的启动流程一定会让你抓狂,透过现象看本质,SpringApplication只是将一个典型的Spring应用的启动流程进行了扩展,因此,透彻理解Spring容器是打开Spring
2018年9月12日

Spring Boot 主类及目录结构介绍

org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic
2018年9月11日

去 BAT 面试,总结了这 55 道 MySQL 面试题!

AUTOCOMMIT=0就可以使MYSQL允许在非autocommit模式,在非autocommit模式下,你必须使用COMMIT来提交你的更改,或者用ROLLBACK来回滚你的更改。
2018年9月9日

一文搞定 Spring Data Redis 详解及实战

${spring-boot.version}添加redis配置类@EnableCaching@Configurationpublic
2018年9月9日

Redis 再牛逼,也得设置密码!

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2018年9月8日

超详细的 Redis Cluster 官方集群搭建指南

cluster-conf-file:设定了保存节点配置文件的路径,默认值为nodes.conf,节点配置文件无须人为修改,它由
2018年9月7日

Spring Boot Redis Cluster 实战干货

org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
2018年9月7日

架构师必须掌握的 10 条设计原则

你应该尽量减少函数之间的隐式共享状态,无论它是文件作用域的变量还是对象的成员字段,这有利于明确要求把值作为参数。当能明确地显示函数需要什么才可以产生所需的结果时,代码会变得更容易理解和重用。
2018年9月5日

Java 程序员必备的 Intellij IDEA 插件

https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
2018年9月4日

面对枯燥的源码,如何才能看得下去?

通过了上面几个阶段,你会发现你对这个框架有了整体的认识,并且对每个模块的实现细节都有了比较深刻的认识。这个时候,你可以想一想为什么它要这么做,这么做有什么好处,那能用另一种方式做得更好吗?
2018年9月3日

一个老程序员的忠告:不要一辈子靠技术生存

也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。
2018年9月2日

8 月份「值得一看」的 Java 技术干货

本书内容通俗易懂,每章都结合实例进行讲解,特别适合作为SpringCloud的入门读物,也适合致力于互联网开发和Java开发的进阶读者阅读。
2018年9月1日

Redis Linux 安装运行实战全记录

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年8月30日

单点登录终极方案之 CAS 应用及原理

将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。
2018年8月30日

深度历险:Redis 内存模型详解

中的数据,除了选用合适的数据类型、利用共享对象等,还有一点是要设置合理的数据回收策略(maxmemory-policy),当内存达到一定量后,根据不同的优先级对内存进行回收。
2018年8月29日

Redis 的 8 大应用场景!

Redis列表结构,LPUSH可以在列表头部插入一个内容ID作为关键字,LTRIM可用来限制列表的数量,这样列表永远为N个ID,无需查询最新的列表,直接根据ID去到对应的内容页即可。
2018年8月29日

扫盲,为什么分布式一定要有Redis?

缓存雪崩,即缓存同一时间大面积的失效,这个时候又来了一波请求,结果请求都怼到数据库上,从而导致数据库连接异常。点击这里查看Redis面试题汇总。
2018年8月28日

史上最全阿里 Java 面试题总结

如何使用redis和zookeeper实现分布式锁?有什么区别优缺点,会有什么问题,分别适用什么场景。(延伸:如果知道redlock,讲讲他的算法实现,争议在哪里)
2018年8月28日

揭开Java 泛型类型擦除神秘面纱

当具体的类型确定后,泛型又提供了一种类型检测的机制,只有相匹配的数据才能正常的赋值,否则编译器就不通过。所以说,它是一种类型安全检测机制,一定程度上提高了软件的安全性防止出现低级的失误。
2018年8月27日

阿里巴巴制定了这 16 条「设计规约」

说明:有缺陷的底层数据结构容易导致系统风险上升,可扩展性下降,重构成本也会因历史数据迁移和系统平滑过渡而陡然增加,所以,存储方案和数据结构需要认真地进行设计和评审,生产环境提交执行后,需要进行
2018年8月26日

我是怎么把一个项目带崩的!!!

其实代码中出现了很多问题,最后检查代码的时候,发现各种命名不规范、代码复用不到位、简单逻辑复杂写等等。而这些问题,很大一部分都是早期未做规定,未指定人负责项目、未进行早期code
2018年8月25日

Spring Boot 配置加载顺序详解

IDEA」、「分布式技术」、「架构设计」、「微服务」、「消息队列」、「缓存」、「面试题」、「最新动态」等。
2018年8月25日

面试过程中千万不要犯这 5 点低级错误!

相比模糊概念去忽悠HR,不如坦然承认你不了解。也许面试官并不是真的想得到一个正确的答案,而是想看你会怎么处理你没有经验的事情,所以你可以说出自己的见解,再补充一句你不是很了解,或许面试官会更尊重你。
2018年8月23日

两步验证杀手锏:Java 接入 Google 身份验证器实战

大家应该对两步验证都熟悉吧?如苹果有自带的两步验证策略,防止用户账号密码被盗而锁定手机进行敲诈,这种例子屡见不鲜,所以苹果都建议大家开启两步验证的。
2018年8月22日

3 年 Java 应该具备的技能体系

公司的好感,我最终选择的就是问了这个问题的公司),不要觉得这太吹毛求疵了—-越简单的问题越能看出一个人的水平,别人对你技术的考量绝大多数都是以深度优先、广度次之为标准的,切记。
2018年8月21日

一个正则表达式酿成的惨案…

自动机,这种正则表达式引擎在进行字符匹配时会发生回溯(backtracking)。而一旦发生回溯,那其消耗的时间就会变得很长,有可能是几分钟,也有可能是几个小时,时间长短取决于回溯的次数和复杂度。
2018年8月20日

面试必备:30 个 Java 集合面试问题及答案

Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。
2018年8月19日

两年摸爬滚打 Spring Boot,总结了这 16 条最佳实践

spring-boot-starter-data-redis如果你想与MongoDB进行集成,需要这样:
2018年8月18日

十面阿里,菜鸟,天猫,蚂蚁金服题目总汇

面试开始会让自我介绍,主要业务架构和技术架构两部分。业务架构一般不会深究,但要面试官听明白,并且一般面试官会顺着问是如何根据这些业务去设计技术架构的。
2018年8月17日

为什么大公司还在用过时的技术?

这类人在工作中,一般有着较强的责任心,且对代码有着很高的追求,对问题有着独特的见解,回去也会不断的学习,提升自己。然而这类人的所学,通常没有发挥的空间。比如,可能出现下面的对话
2018年8月17日

架构必备「RESTful API」设计技巧经验总结

API就会在响应中返回next_page_token。然后,服务器在新的请求中接收到这个令牌后,就会返回更多的结果,并附带新的next_page_token,直到所有的结果全部都返回给客户端。
2018年8月16日

从 0 开始手写一个 Spring MVC 框架,向高手进阶!

DispatcherServlet响应用户。从上面可以看出,DispatcherServlet有接收请求,响应结果,转发等作用。有了DispatcherServlet之后,可以减少组件之间的耦合度。
2018年8月15日

详解 Java 中的三种代理模式

Cglib包的底层是通过使用一个小而块的字节码处理框架ASM来转换字节码并生成新的类.不鼓励直接使用ASM,因为它要求你必须对JVM内部结构包括class文件的格式和指令集都很熟悉.
2018年8月15日

Java面试常问计算机网络问题

UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。
2018年8月14日

如何在一分钟内搞定面试官?

通过**渠道关注到贵公司**岗位的招聘信息,该职位跟我未来的职业发展相对契合,而且贵公司的业务(或者企业实力、行业口碑、企业文化等)对我都非常有吸引力,非常渴望能够进入贵公司发展……
2018年8月13日

Spring Boot 2.x 启动全过程源码分析(全)

listeners.contextLoaded(context);}11、刷新应用上下文refreshContext(context);这个主要是刷新
2018年8月12日

6 道 BATJ 必考的 Java 面试题

Collections.synchronizedMap),但是它们都是利用非常粗粒度的同步方式,在高并发情况下,性能比较低下。点击这里看一下壮烈牺牲的阿里巴巴面试经验。
2018年8月12日

史上最全 50 道 Redis 面试题

Redis集群没有使用一致性hash,而是引入了哈希槽的概念,Redis集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽。
2018年8月11日

史上最全 Java 多线程面试题及答案

另外提一点,Thread类提供了一个getStackTrace()方法也可以用于获取线程堆栈。这是一个实例方法,因此此方法是和具体线程实例绑定的,每次获取获取到的是具体某个线程当前运行的堆栈。
2018年8月10日

Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指。

启动做端口映射的容器Docker运行容器之后却发现没IP,没端口,也就是说,启动容器的时候如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。
2018年8月10日

让面试官颤抖的 HTTP 2.0 协议面试题

整个访问流程第一次请求index.html页面,之后浏览器会去请求style.css和scripts.js的文件。左边的图是顺序加载两个个文件的,右边则是并行加载两个文件。
2018年8月9日

Spring Cloud 升级最新 Finchley 版本,踩了所有的坑!

spring-cloud-starter-netflix-eureka-serverEureka
2018年8月9日

Java 虚拟机对锁优化所做的努力

如果偏向锁失败,即上一个请求的锁的线程和这个线程不是同一个。偏向锁失败意味者不能避免做同步操作。此时,虚拟机并不会立即挂起线程。他会使用一种成为轻量级锁的优化手段。
2018年8月8日

跟我学 Java 8 新特性之 Stream 流(七)流与迭代器,流系列大结局!

如果你觉得Stream流这系列文章,你们能看得比较懂的话,那我相信数据结构系列的文章你们也会有同样的感觉的,最后,谢谢大家,祝你们技术越来越强,生活越来越愉快,最重要的还是马上找到女朋友,哈哈哈哈。
2018年8月7日

跟我学 Java 8 新特性之 Stream 流(六)收集

我们前面的五篇文章基本都是在说将一个集合转成一个流,然后对流进行操作,其实这种操作是最多的,但有时候我们也是需要从流中收集起一些元素,并以集合的方式返回,我们把这种反向操作称为收集。
2018年8月6日

史上最全 69 道 Spring 面试题和答案

AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能。比如,一个日志模块可以被称作日志的AOP切面。根据需求的不同,一个应用程序可以有若干切面。在Spring
2018年8月6日

Spring Boot 2.X 来临,本文将带你起飞!

MVC开发需要配置的内容还是比较多的,而且对设计人员要求较高。开发完成后,开发者还需要找到对应的服务器去运行,如Tomcat或者Jetty等,这样既要进行开发,又要进行配置和部署,工作量还是不少的。
2018年8月5日

Spring Boot 2.x 启动全过程源码分析(上)入口类剖析

org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener
2018年8月4日

跟我学 Java 8 新特性之 Stream 流(五)映射

第一种方式,大家需要好好理解,理解了,我相信你们的项目中,很多很多地方可以用得上了,再也不需要动不动就查数据库了,怎样效率高怎样来,只是一种建议。第二种只是快速计算团队经济而已,没什么值得讲的。
2018年8月3日

跟我学 Java 8 新特性之 Stream 流(四)并行流

CPU什么8核16线程,什么Android手机8核4GB这种消息,既然我们是处于一个多核处理器的时代,你们有没有想过并行地操作数组和集合框架,从而高速地执行我们对数组或者集合的一些操作呢?
2018年8月2日

跟我学 Java 8 新特性之 Stream 流(三)缩减操作

这个Demo主要是计算了一个list里面的总和,积的操作,大家可以和传统的算总和,积的方法进行对照,比一比衡量一下就有自己的答案了。但是如果你以为流API仅此而已,那你就错了。
2018年8月1日

强势推荐:7 月份值得一看的 Java 技术干货!

个鼠标垫送给公众号粉丝。请在文章下面留言,说说你做码农以来的一些有用的心得经验,我会选出
2018年7月31日

微服务为什么选Spring Cloud?

DUBBO只支持RPC调用。使得服务提供方与调用方在代码上产生了强依赖,服务提供者需要不断将包含公共代码的jar包打包出来供消费者使用。一旦打包出现问题,就会导致服务调用出错。
2018年7月30日

IntelliJ IDEA 最常用配置详细图解,新手入门必看!

这个是修改咱习惯的快捷键映射表,因为我是从eclipse转来的,估计大部分都和我差不多啦,那就可以在这配置成eclipse的快捷键映射表,那么就没有必要再去记一套快捷键映射了,比如我们常用的删除一行
2018年7月29日

跟我学 Java 8 新特性之 Stream 流(二)关键知识点

由于Stream接口是最具代表性的,所以我们就选择它来讲解,其实在我们学完Stream接口,其它的三个接口,在使用上基本是一致的了,我们上一篇的Demo基本上也是使用Stream接口来做的练习。
2018年7月28日

学 Java 编程,关注Java技术栈!

Cloud、缓存、消息队列、架构设计等各种技术干货、Java
2018年7月26日

屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

这玩意看起来很不错,可以说这就是一个全栈开发平台,不仅支持主流编程语言,还能组合在一起编程,根据不同任务来选择最佳的语言。另外。它还能提高更高的执行效率,以及占用更少的内存。
2018年7月26日

涨姿势,图文带你了解 8 大排序算法

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
2018年7月25日

Spring Boot 核心配置文件详解

主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap
2018年7月24日

跟我学 Java 8 新特性之 Stream 流基础体验

通过上面的讲解,相信这个已经难不了你了,sorted()方法是用于排序的,它的一个重载方法可以接收一个Comparator类型的参数,让你自定义你的排序规则.forEach方法就遍历.
2018年7月23日

程序员到了 35 岁,还能找到工作吗?

写好代码,是我们工作的本分,所以,写代码就是程序员的实践,我们需要写代码的过程中,明白什么是优秀的代码,什么是垃圾代码,然后让自己的代码易读易懂,高效,无错。点击这里获取BATJ常考的面试题及答案。
2018年7月22日

聊聊微服务架构及分布式事务解决方案!

3-2.当直充失败时(移动特性,例如:直充时正好用户销户或者停机了),修改订单状态为待退款,并调用支付网关系统的退款接口,退款成功后支付网关异步通知流量中心,流量中心修改订单状态为-退款成功;
2018年7月21日

墙裂推荐一本 Spring Cloud 微服务新书,基于 Spring Boot & Cloud 最新版本。

本书不仅可以令读者了解微服务架构系统开发的完整流程,而且通过实战结合技术点的归纳,令读者知其然且知其所以然。本书所涉及的技术符合当前主流,并富有一定的前瞻性,可以有效提高读者在市场中的核心竞争力。
2018年7月20日

Java Base64 编码解码方案总结

早期在Java上做Base64的编码与解码,会使用到JDK里sun.misc套件下的BASE64Encoder和BASE64Decoder这两个类别,用法如下:
2018年7月19日

干货 | Tomcat 连接数与线程池详解

(3)通过前面的介绍可以知道,虽然tomcat同时可以处理的连接数目是maxConnections,但服务器中可以同时接收的连接数为maxConnections+acceptCount
2018年7月18日

Java 编程中关于异常处理的 10 个最佳实践

throws关键字抛出它们。事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码。这里我们将讨论一些关于异常处理的Java
2018年7月17日

向高手进阶,一文带你深入拆解 Java 虚拟机

Labs)的高级研究员,主要负责研究如何通过程序分析技术以及动态编译技术让程序语言跑得更快。我是全栈虚拟机Graal编译器的核心开发者之一,也在为HotSpot虚拟机项目添砖加瓦。
2018年7月16日

Spring Boot 配置随机数那些小技巧

org.springframework.boot.context.properties.ConfigurationProperties;
2018年7月15日

号称取代 Java 的 Kotlin 语言到底是什么鬼?

https://medium.com/@afinlay/java-10-sneak-peek-local-variable-type-inference-var-3022016e1a2b
2018年7月14日

出场率比较高的一道多线程安全面试题

com.test.thread.TestArrayList.lambda$testList$0(TestArrayList.java:23)
2018年7月13日

equals 和 hashCode 到底有什么联系?一文告诉你!

4)如果两个对象使用equals()方法判断为不相等,则不要求hashCode()也必须不相等;但是开发人员应该认识到,不相等的对象产生不相同的hashCode可以提高哈希表的性能。
2018年7月12日

凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?

闭源:https://github.com/Netflix/eureka/wiki
2018年7月11日

惊艳,Dubbo域名已改,也不再局限于Java!!

的生态系统介绍:http://dubbo.apache.org/#/community?lang=zh-cn。
2018年7月10日

SSL / TLS 协议运行机制详解

客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。
2018年7月9日

《全球架构师峰会》参会回来,全程内容分享

2018《全球架构师峰会》,它号称是一个面向高端技术管理者、架构师的技术会议,50
2018年7月8日

爱上 Java 的10 大理由,Python 弱爆了!

通过在JVM里提供一个独立于硬件的内存模型,Java就没有必要卸载外部库。这使得该语言、核心API、编译器可以同心协力,一起来为并行操作提供稳定基础和共享状态。点击这里查看JVM内存模型详解。
2018年7月7日

一文告诉你 Java RMI 和 RPC 的区别!

Protocol)远程过程调用协议,通过网络从远程计算机上请求调用某种服务。一次RPC调用的过程大概有10步:
2018年7月6日

Java架构师必须知道的 6 大设计原则

聚合:聚合是比合成关系的一种更强的依赖关系,也表示整体与部分的关系(整体与部分可以分开);比如螺丝和汽车玩具的关系,螺丝脱离玩具依然可以用在其它设备之上。在UML中,聚合关系用带空心菱形的直线表示。
2018年7月5日

Spring Boot 2.x 新特性总结及迁移指南

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Configuration-Changelog
2018年7月4日

90 % Java 程序员被误导的一个性能优化策略

这样,本应该是循环体内的生命周期变量被扩散到了循环外,如果循环外依旧用这个变量,会导致后面的业务发生不可预知的后果。这种问题在笔者工作当中经常会遇到,看下面的例子。
2018年7月3日

Java 9、10、11,哪个才是 Java 程序员的本命?

10无跳票发布,主推的新特性引争议》的文章中做了一个小的调查,主要是调查现在的Java程序员都在使用哪个版本的Java?根据调查结果,绝大部分的程序员都在使用Java
2018年7月2日

Java 程序员必须掌握的 5 个注解!

classes》。与@Override注解类似,Java编译器提供了@FunctionalInterface注解以确保接口确实是函数式接口。例如,我们可以将此注解添加到上面创建的接口中:
2018年7月1日

推荐 | 6月份最值得看的 Java 技术干货

媒体风格的报道,提供有趣且有益的知识,详细解释英语技术术语。课后附有英文思维训练,内容和形式都贴合一线程序员需求,能够激发阅读兴趣。例文难易得当,结构安排合理,是技术学习与英语学习的有机结合。
2018年6月30日

从入门到熟悉 HTTPS 的 9 个问题

这里我们引入非对称加密的方式,非对称加密的特性决定了服务器用私钥加密的内容并不是真正的加密,因为公钥所有人都有,所以服务器的密文能被所有人解析。但私钥只掌握在服务器手上,这就带来了两个巨大的优势:
2018年6月28日

干货 | 彻底弄懂 HTTP 缓存机制及原理

1.包含属性的首部(header)--------------------------附加信息(cookie,缓存信息等)与缓存相关的规则信息,均包含在header中
2018年6月27日

Spring 获取 request 的几种方法及其线程安全性分析

(2)注入的对象不限于request:除了注入request对象,该方法还可以注入其他scope为request或session的对象,如response对象、session对象等;并保证线程安全。
2018年6月26日

分布式 | Dubbo 架构设计详解

网络传输层(Transport):抽象mina和netty为统一接口,以Message为中心,扩展接口为Channel、Transporter、Client、Server和Codec。
2018年6月25日

一道非常棘手的 Java 面试题:i++ 是线程安全的吗?

问题就出在这了,如果一个线程运算完后还没刷到主内存,此时这个共享变量的值被另外一个线程从主内存读取到了,这个时候读取的数据就是脏数据了,它会覆盖其他线程计算完的值。。。
2018年6月23日

一次恐怖的 Java 内存泄漏排查实战

主要思路就是避免程序体现上出现的情况。避免死循环,防止一次载入太多的数据,提高程序健壮型及时释放。因此,从根本上解决Java内存溢出的唯一方法就是修改程序,及时地释放没用的对象,释放内存空间。
2018年6月22日

Spring Cloud Finchley 正式发布,包含 4 个重大更新!

https://spring.io/blog/2018/06/19/spring-cloud-finchley-release-is-available)
2018年6月21日

Tomcat 的 Server 文件配置详解!

监听器可以在Server、Engine、Host或Context中,本例中的监听器都是在Server中。实际上,本例中定义的6个监听器,都只能存在于Server组件中。监听器不允许内嵌其他组件。
2018年6月20日

Redis PK Memcached,哪个更牛叉?

集群发送数据之前,首先会通过内置的分布式算法计算出该条数据的目标节点,然后数据会直接发送到该节点上存储。但客户端查询数据时,同样要计算出查询数据所在的节点,然后直接向该节点发送查询请求以获取数据。
2018年6月19日

Intellij IDEA 那些隐藏好用的小技巧

这个是我目前正在用的,就是整个工程里面,只有一个代码tab。也即是说,无论你打开多少个文件,都是在同一个tab里面显示。如果这样设置了,有些网友可能会问,我想看看我最近操作哪些类了,怎么看?
2018年6月17日

Java 11 快要来了,编译 & 运行一个命令搞定!

参考资料:https://securityonline.info/jdk-11-will-introduce-shebang-symbol/
2018年6月16日

MySQL数据库开发的 36 条军规!

来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。文末是详细的视频讲解和PDF下载。
2018年6月15日

Spring Boot 单元测试详解+实战教程

testRestTemplate.getForObject("/test/getUser?username={username}",ActResult.class,multiValueMap);
2018年6月14日

这 30 个常用的 Maven 命令你必须熟悉!

创建web项目:-DarchetypeArtifactId=maven-archetype-webapp
2018年6月13日

达到年薪 40W 必需掌握的技术。

还有人提到这个水平不止2w,其实工资是跟面试表现有关的,也跟其他综合水平有关,比如你是985,top10,或者研究生学历,也或者懂点node,懂点大数据等等,或者表达能力强,击中面试官痛点都会加分。
2018年6月12日

Java 10 实战第 1 篇:局部变量类型推断

增加的一种语法糖而已,在编译期间会自动推断实际类型,其编译后的字节码和实际类型一致,如以下例子所示。
2018年6月11日

高可用高并发的 9 种技术架构!

在网站的分层架构中,常见的为3层,即应用层、服务层、数据层。应用层具体负责业务和视图的展示;服务层为应用层提供服务支持;数据库提供数据存储访问服务,如数据库、缓存、文件、搜索引擎等。
2018年6月10日

我面试过的一个最奇葩的 Java 程序猿!

然后我在门口一直等了几分钟,他也没有停下的意思,可能他也知道他技术不咋的,然后我就不耐烦了,直接叫前台妹妹把他赶走得了。前台也出于礼貌,让他打完再走,谁知打了
2018年6月9日

Spring Boot 集成 Mybatis 实现双数据源

根据类路径下有DruidDataSource这个类即有Druid这个jar包和配置文件中spring.datasource.active=druid才开启对Druid连接池的自动配置。
2018年6月8日

推荐一个实用的 .gitignore 文件

我们不能把这些本地化的无用的配置文件提交到远程仓库上面去,这样会造成别人每次都有更新的要求,也会污染别人的开发环境。
2018年6月7日

干货 | 图解 https 单向认证和双向认证!

9、客户端收到服务端返回的加密方案密文后,使用自己的私钥进行解密,获取具体加密方式,而后,产生该加密方式的随机码,用作加密过程中的密钥,使用之前从服务端证书中获取到的公钥进行加密后,发送给服务端
2018年6月6日

Github 嫁入豪门后的第 2 天!

后,可能会有很多开发人员弃坑,而选择其他的代码托管平台。为什么呢?微软在开源上已经是十分保守的,而且有着许多大公司都有的大公司病,后续如何善待
2018年6月5日

Java 中的伪共享详解及解决方案

缓存中的存储是以缓存行为单位,一个缓存行可以存储多个变量(存满当前缓存行的字节数);而CPU对缓存的修改又是以缓存行为最小单位的,那么就会出现上诉的伪共享问题。
2018年6月4日

我错了,以后少聊程序猿,多聊技术!

结果有一些个程序猿可能在我反感的程序猿之列,哈哈,容易招黑。以后聊什么都不要聊程序猿的负面现象,多聊技术,多聊程序猿的优良品质,程序猿真是敏感又脆弱的个体,应该聊《最让我称赞的
2018年6月3日

秒杀系统设计的 5 个要点:前端三板斧+后端两条路!

解决方案4:将提交操作变成两段式,先申请后确认。然后利用Redis的原子自增操作,同时利用Redis的事务特性来发号,保证拿到小于等于库存阀值的号的人都可以成功提交订单。然后数据异步更新到DB中。
2018年6月1日

5月份值得一看的 Java 技术干货!

5月又即将要离我们远去了,这个月有小长假51劳动节,有54青年节,有513母亲节,更有坑爹的520神马节?!!
2018年5月31日

Java序列化技术即将被废除!!!

中的古董--序列化技术,因为它带来了许多严重的安全问题(如序列化存储安全、反序列化安全、传输安全等),据统计,至少有3分之1的漏洞是序列化带来的,这也是
2018年5月30日

Java程序员最常犯的 10 个错误!

程序员们经常使用public作为类中的字段的修饰符,因为这样可以很简单的通过引用得到值,但这并不是好的设计,按照经验,分配给成员变量的访问级别应该尽可能的低。参考Java中的四种访问级别
2018年5月29日

干货 | 京东购物车的 Java 架构实现及原理!

sessionProviderService.getAttributterForUsername(RequestUtils.getCSessionId(request,
2018年5月28日

为什么比起 IntelliJ IDEA,我更喜欢 Eclipse…

有一点小小的延迟,不好说,但是“我感觉得到”。我在某个地方读到过说IDE过度地重画屏幕元素,所以这可能就是原因。Eclipse感觉更顺畅(我知道这不是一个合适的论据,但我也没有更精确的数据了)。
2018年5月27日

程序员辞职常用的 6 个借口!

这一招,太有杀伤力了。老板给再高的工资都留不住程序员,除非他舍得招聘很多女孩子进公司,让你觉得有机可乘。事实上,这种可能性比涨工资的可能性还要低。任凭老板再怎么安抚一颗受伤的心,终究也是无计可施。
2018年5月26日

《阿里技术参考图册》发布,速度收藏!

此外,你更能高屋建瓴、深入了解每个业务背后的技术支撑体系:高性能基础设施如何支撑商业系统?集群调度系统高效怎样提升资源效率?新一代分布式存储引擎、数据库技术、高性能分布式中间件有哪些创新之处?
2018年5月25日

坑爹的日志无法按天切割问题!

${LOG_PATH}/info.log.%d{yyyy-MM-dd}.%i.log
2018年5月24日

Java中的基本数据类型转换(自动、强制、提升)

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月23日

分布式作业 Elastic-Job 快速上手指南,从理论到实战一文搞定!

ZookeeperConfiguration("192.168.10.31:2181,192.168.10.32:2181,192.168.10.33:2181",
2018年5月22日

国外大神总结的 10 个 Java 编程技巧!

在switch语句中,为所有的case都只定义了一个作用域。事实上,这些case不是真正意义上的语句,他们更像是标签,而switch就是指向这些标签的goto语句。事实上,你甚至可以把case语句和
2018年5月21日

Java 10 最重要的 5 个新特性!

这看起来有点简单,让我们来看一个更加复杂的例子。如果一个变量分配给了调用方法的返回值是怎样的?在这种情况下,编译器可以根据方法的返回类型推断变量的类型,如清单
2018年5月18日

程序员面试常遇到的十大“套路”!

最好的回答方式是将离职原因归咎到自己身上,例如:原来的工作与自己的职业规划不合,我想从事自己所学专业的工作;原来的工作已经没有发展空间了,我希望能获得一份发展空间更大的工作。
2018年5月17日

各种付费技术专栏优惠海报!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月16日

其实学 Java 就这两样东西!

什么顺序一致性,原子性,有锁,无锁。安全性,读写同步/读不用同步,写同步。多核,compareAndSet(),getAndSet(),伪共享,高速缓存,Volatile关键字,系统总线,等等等等。
2018年5月15日

高级 | Java中获取类名的3种方法!

testInnerClasses.getClass().getCanonicalName());
2018年5月14日

一图告诉你怎么面向 bug 编程!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月13日

11 个简练的 Java 性能调优技巧

在创建了测试套件并使用分析器分析你的应用程序之后,你可以列出一系列需要解决以提高性能的问题列表。这很好,但这并没有回答你需要从哪里开始的问题。你可以专注于速成方案,或从最重要的问题开始。
2018年5月12日

Spring Cloud 多版本怎么选择?帮你解惑!

然而,这些子项目都有不同的发布阶段,为了管理主项目和子项目的依赖关系,以及为了避免和子项目版本的冲突和误解,主项目版本命名并没有采用和子项目数字版本化的形式,而是采用了英文名称。
2018年5月10日

各种付费技术专栏优惠海报!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月9日

switch case 支持的 6 种数据类型!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月8日

最新后端架构师技术图谱!附学习资料~

版的赞赏功能被关闭,可通过二维码转账支持公众号。
2018年5月7日

到底什么是跨域?附解决方案!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月6日

少走弯路,给Java 1~5 年程序员的建议

等你写上几天程序以后,你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。这个时候你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。
2018年5月5日

干货 | 教你如何监控 Java 线程池运行状态

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年5月4日

Git 12 岁了,送给你 12 个 Git 使用技巧!

如果你选择这么做,你会发现~/.gitconfig文件就是一个INI文件,INI是一种带有特定段落的基础键值对文件格式。添加一个别名时,你将改变[alias]段落。例如:上面提到的定义相同的git
2018年5月3日

图解分布式架构的演进!

随着服务的不停升级,总有些意想不到的事发生,比如cache写错了导致内存溢出,故障不可避免,每次核心服务一挂,影响一大片,人心慌慌,如何控制故障的影响面?服务是否可以功能降级?或者资源劣化?
2018年5月2日

涨姿势|Java 程序打日志的正确姿势!

这也是作者第一次邀约做付费专题,第一次试水价1.99元,所以等于白菜价送给大家。也希望大家通过这个技术专题能有所收获,1.99元买个知识储备,也支持下作者高质量出品。
2018年4月29日

5.1重磅活动 | 区块链免费送书 & 星球特价!!!

五一节假日期间,Java技术栈知识星球再次推出良心优惠价,也是历史最低价。请点击左下方的阅读原文加入知识星球,错过这次再等半年(下次活动国庆节),星球加入门槛价格起点也会提高。
2018年4月28日

高级 Java 面试通关知识点整理!

观察者模式:有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
2018年4月25日

进阶 | Java生成随机数的几种高级用法!

它有一个缺点,就是它是一个对象。它的方法必须是通过一个实例来调用,这意味着必须先调用它的构造函数。如果在内存充足的情况下,像上面的表达式是可以接受的;但内存不足时,就会带来问题。
2018年4月23日

Java 常见的 30 个误区与细节!

i+++j如何计算?(这个问题在C/C++)中讨论是没有多大意义的,因为C/C++依赖于实现的硬件结构,不同的环境结果也会不同。不过在Java中,这个结果是固定的,不受其运行的硬件环境与平台的影响)
2018年4月19日

干货|基于 Spring Cloud 的微服务落地

微服务架构将服务的粒度分解的足够细,这使得它在保证服务足够灵活、足够独立的优势下,也带来了管理和监控上的挑战,服务与服务之间的依赖也变得越来越复杂。因此,对服务健康度和运行指标的监控就变得非常重要。
2018年4月18日

深度好文 | Java 可重入锁内存可见性分析

https://stackoverflow.com/questions/2972389/why-is-compareandswap-instruction-considered-expensive
2018年4月17日

涨姿势 | 优秀 Java 程序员写代码的风格

2.断开很长的句子:第一,如果包含了逗号,那么在每一个逗号后面都另起一行,把逗号后面的每一个表达式都和逗号前面的表达式的第一个字母对齐。第二,应该在优先级最低的运算符之前断行。
2018年4月16日

架构书籍推荐:Java中高级、架构师值得一读!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月14日

2018年不能错过的 14 个 Java 库!

现所有字段上都有@ToString,@EqualsAndHashCode,@Getter的快捷方式,所有非final字段的@Setter和@RequiredArgsConstructor!
2018年4月14日

史上最全 BAT 大厂面试题整理!(速度收藏)

平时Android开发中对并发编程可以做得比较少,Thread这个类经常会用到,但是我们想提升自己的话,一定不能停留在表面,,我们也应该去了解一下java的关于线程相关的源码级别的东西。
2018年4月13日

Spring MVC & Boot & Cloud 技术教程汇总(长期更新)

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月12日

Spring MVC & Boot & Cloud 技术教程汇总(长期更新)

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月11日

Java成神之路技术整理(长期更新)

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月11日

阿里面试回来,想和 Java 程序员谈一谈!

我们在Java技术栈知识星球上发布了海量高级Java面试题及答案,更有各种阿里、腾讯的面试题,加入星球我们一起学习,还能免费加入VIP微信群和更多技术牛人一起交流,轻松搞定阿里面试。
2018年4月11日

Java成神之路技术整理(长期更新)

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月10日

图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross)

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月9日

一位40多岁骨灰级程序员的干货分享!

注意,这不是极客的广告,我们没收任何费用,纯属技术分享!现在是知识付费时代,如果提供的知识对你有帮助,或者有一点让你受益匪浅的,那么,付费也是值得的。都是靠自己的辛勤努力赚钱,我们应该尊重知识。
2018年4月7日

7张图了解 Spring Cloud 的整体构架!

Cloud配置过程之中,所有的配置处理都是围绕着Rest完成的,在这个Rest处理之中,一定要有两个端:服务的提供者(Provider)、服务的消费者(Consumer),所以对于整个Spring
2018年4月6日

Intellij IDEA 2018.1 正式发布,9个重大新功能!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月5日

Java 必看的 Spring 知识汇总!

Library所使用的Jar复制到/WEB-INF/lib目录下,这是因为对于一个Web应用,Eclipse部署Web应用时不会将用户库的Jar文件复制到/WEB-INF/lib下,需要手动复制。
2018年4月4日

到底什么是 OAuth 2.0 ? 一文秒懂!

type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了"授权码"这个步骤,因此得名。所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。
2018年4月3日

JDK 5 ~ 10 新特性倾情整理!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年4月2日

Java 11 发布计划来了,已确定 3个 新特性!!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月30日

Java 内存模型 JMM 详解!

几乎近代的所有的多处理器都需要StoreLoad,StoreLoad的开销通常是最大的,并且StoreLoad具有其他三种屏障的效果,所以StoreLoad可以当做一个通用的(但是更高开销的)屏障。
2018年3月28日

程序员如何面对 HR 面试的 40 个问题!

技术人员平时在技术与代码中沉淀,缺少沟通,缺少交际,这其实对个人很不利。面试也一样,技术是敲门砖,如何更顺利地进入公司,或者拿到更理想的岗位和薪资待遇也是每个职场人士需要学习的。
2018年3月24日

Java 面试题经典 77 问(含答案)!

50、什么时候使用CallableStatement?用来准备CallableStatement的方法是什么?
2018年3月24日

Jodd - Java界的瑞士军刀轻量级工具包!

简而言之,如果你准备造轮子,先看看Jodd实现了没。你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能。
2018年3月23日

Spring Boot 发布 jar 包转为 war 包秘籍。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月20日

干货:排名前 16 的 Java 工具类!

在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。
2018年3月16日

MySQL 调优/优化的 101 个建议!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月15日

危险:会话固定攻击漏洞,你们的系统都堵上了吗?

attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。
2018年3月14日

高级 Java 必须突破的 10 个知识点!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月13日

Java技术栈"知识星球"福利

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2018年3月12日

Java 10的10个新特性,将彻底改变你写代码的方式!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月9日

Java Jar包的压缩、解压使用指南

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月7日

JDK9新特性实战:简化流关闭新姿势。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年3月6日

面试过程中的14种神回复,HR妹子已气晕在厕所。。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2018年3月3日

重磅:Spring Boot 2.0 正式发布!

升级文档:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide
2018年3月2日

分享18道Java基础面试笔试题(面试实拍)

2018年,想获取更多技术学习提升的机会,可以点击左下方阅读原文加入我们的Java技术栈微信群,我们一起学习进步成长!
2018年3月1日

Java程序员必须掌握的常用Linux命令。

Java程序员也是半个运维了,在日常开发中经常会接触到Linux环境操作。小公司的开发人员甚至是兼了全运维的工作,下面整理了一些常用的Linux操作命令。
2018年2月24日

年后跳槽,5个诀窍帮你找到满意的工作

还要注意投简历时机。博主之前在大四时错过了各大公司的校招,很是可惜。虽然在毕业后还厚着脸皮去参加bat的校招,当时投的是应届生,虽然at过了笔试,但还是在第一轮面试就被刷了,就是准备的不到位啊。
2018年2月23日

春节跳槽最新Java面试题及答案整理

小编也面了几家公司了,回来整理下面经分享给大家做个参考。有很多,暂时先分享20道,后续更多会陆续整理分享出来。
2018年2月22日

春节好消息 | Dubbo拥抱Apache,MongoDB支持事物……

孵化器的投票讨论。6天后的2月15日,邮件中显示最终Dubbo获得了14张赞成票正式通过选票,在0弃权和0反对的情况下,Dubbo顺利进入了Apache基金会孵化项目。
2018年2月20日

8张图带你轻松温习Java知识

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年2月19日

Java:关于main方法的10道面试题

小编为大家整理了参考答案,在公众号后台菜单中回复“面试题答案”即可获取。点击阅读原文,获取更多面试题!
2018年2月18日

44个Java代码性能优化总结

12345678901234L,这个数字已经超出了int的范围了,所以最后有一个L,表示这是一个long型数。顺便,浮点型的默认类型是double,所以定义float的时候要写成""float
2018年2月13日

过年回家,程序猿最怕的5件事(深有感触)。

有一朋友回家过年,还没到家,就被转送到女方家,一脸蒙逼的情况下才知道是相亲。更可怕的是,接连相亲,一个相不中,不断有媒婆来与你牵线搭桥,相亲也是饭桌上或者茶余饭后的各长辈们的谈资,表示不胜其烦。
2018年2月8日

分享一套高级Java笔试题(实拍高清图)

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2018年2月7日

消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?

Kafka最好,ActiveMQ次之,ZeroMQ最差。当然ZeroMQ也可以做到,不过自己必须手动写代码实现,工作量不小。尤其是可靠性中的:持久性、投递确认、发布者证实和高可用性。
2018年2月5日

史上最全Redis面试题及答案。

12、MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
2018年2月3日

强悍!Java 9 中的9个新特性

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2018年2月2日

干货:Java技术栈18年01月精彩好文汇总

我想有许多小伙伴都来不及阅读,有关注本公众号不久的朋友,或者是关注了错过了干货的朋友,又或者是工作繁忙没时间阅读的朋友。
2018年1月31日

什么是CPU密集型、IO密集型?

计算密集型任务由于主要消耗CPU资源,因此,代码运行效率至关重要。Python这样的脚本语言运行效率很低,完全不适合计算密集型任务。对于计算密集型任务,最好用C语言编写。
2018年1月30日

到底什么是分布式系统?

集中式很明显的弊端就是不易扩展,每次更新都必须更新所有的应用。而且,一个有问题意味着所有的应用都有问题。当系统越来越大,集中式将是系统最大的瓶颈。
2018年1月28日

思考:程序员如何靠技术度过中年危机?

这个问题的潜在条件应该是对普通人来说,我们如何度过中年危机?做管理,管理毕竟是少数,做小生意,不好意思,请离开大城市,创业,普通人去创业去挥霍资本?去投资?不好意思,这是在给别人送钱。
2018年1月27日

活动:月末送书福利|抽奖

2、从留言区再选出5名未中奖的精选留言,拉入我们的Java技术栈微信群(点击下方阅读原文可直达微信群介绍),精选留言得奖者会置顶展示,同时会回复得奖字样。
2018年1月26日

好消息:Dubbo & Spring Boot要来了

Boot真是快速开发神器。不过,目前该项目还未正式发布,敬请期待,我们也将会持续关注,如果有更进一步消息会及时通知到大家。
2018年1月25日

Java中的6颗语法糖

Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。
2018年1月24日

程序员100个不能说的小秘密

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2018年1月23日

Mybatis传递多个参数的4种方式(干货)

分享Java技术干货,高并发技术,分布式技术,架构设计,Java面试题,热门技术视频教程,架构师视频教程等。
2018年1月22日

分享一套阿里高级Java面试题,要去阿里的先过这些题。

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2018年1月21日

漫画:阿里、腾讯、百度如何招人的?已笑尿!

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2018年1月21日

SLA服务可用性4个9是什么意思?怎么达到?

agreement)。是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。
2018年1月20日

程序员,我想和你聊聊

C、不看清说明,可以表现为:直接找管理员要资料,找不到如何获取资料在公众号留言,或者知道口令把口令在文章处留言,在微信群、管理员处发送口令,不及时保存资料,失效后又各种麻烦管理员等;
2018年1月19日

年底了,该跳槽了,全套高级Java面试题及答案整理~

分享Java技术干货,高并发技术,分布式技术,架构设计,Java面试题,热门技术视频教程,架构师视频教程等。
2018年1月18日

Maven Optional & Exclusions使用区别

http://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
2018年1月17日

厉害了,张小龙「跳一跳」最高玩到6000多分,学习小程序开发,免费领取1300套小程序源码。

我们也在不停地关注小程序的动向,也在不停地学习小程序开发,我们给自己准备了许多小程序的源码、教程、工具,现在分享给大家一起学习,多想多动手,争取在小程序的市场上能抢占先机。
2018年1月16日

JSON Web Token (JWT)生成Token及解密实战。

Jwts.parser().setSigningKey(KEY).parseClaimsJws(compactJws);
2018年1月15日

重大利好,Dubbo 3.0要来了。

IPC,这主要是为了兼容老系统;而内部则会优先尝试内嵌模式。他说代理模式Ops可独立升级框架,减少业务侵入,而内嵌模式可以带业务测试、部署节点少、稳定性检测方便。同时可以将Dubbo
2018年1月14日

一张图告诉你为什么是服务网关,文末有现金抽奖。

网关服务是单一访问点,并充当多项服务的代理。服务网关启用了跨所有服务的路由转发、过滤和公共处理等。
2018年1月13日

JSON Web Token (JWT),服务端信息传输安全解决方案。

在身份验证中,当用户成功地使用他们的凭证登录时,将返回一个JWT的token,并且必须在本地保存(通常在本地保存,但也可以使用cookie),而不是在服务器中创建会话并返回cookie的传统方法。
2018年1月12日

分布式ID生成器的解决方案总结

Java自带的生成UUID的方式就能生成一串唯一随机32位长度数据,而且够我们用N亿年,保证唯一性肯定是不用说的了,但缺点是它不包含时间、业务数据可读性太差了,而且也不能ID的有序递增。
2018年1月11日

递归算法介绍及Java应用实战

递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。
2018年1月9日

一张图告诉你什么是系统架构师

这个可以表现为抽象能力、整体规划能力、及设计能力。你需要照在业务的角度进行系统分解、技术选型、架构搭建,以及规范制定。架构出来了至少可以满足近几年的发展,或者可以很方便对现有架构进行扩容。
2018年1月8日

程序猿之间的各种鄙视链,你是否也曾经被屌?

程序员——是一个集思维、情商、行为都异于其他传统岗位的群体。清高自傲、闷骚、会修电脑、宅、不善交际、几百年不洗的衬衫牛仔双肩包…,代表着程序员这个群体的鲜明标签。
2018年1月7日

2017年度GitHub上最热门的开源项目

简化了定制机器学习模型的开发。你不需要成为一个机器学习专家,也可以在你的应用中添加建议、对象检测、图像分类、图像相似性或活动分类。这一框架应该会让开发者更容易构建机器学习模型。(详情:【开源推荐
2018年1月6日

为什么Netty这么火?与Mina相比有什么优势?

Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
2018年1月4日

史上最全Java多线程面试题及答案

多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域。所以,学好多线程并发编程对Java程序员来来说极其重要的。
2018年1月3日

Java父类强制转换子类原则

如上代码,如果父类实例出来的对象是Orange,Orange当然不能强制转成Apple,所以说父类只有该子类对应的实例才能强转。
2018年1月2日

通用唯一标识码UUID的介绍及使用。

UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如:550e8400-e29b-41d4-a716-446655440000。
2017年12月31日

Java对象引用四个级别(强、软、弱、虚)

一个对象只有软引用,如果内存空间足够情况下垃圾回收器就不会回收它,如果内存空间不够了就会对这些只有软引用的对象进行回收。只要垃圾回收器没有回收,该软引用对象就可以继续被程序使用。
2017年12月28日

Java技术栈免费福利&教程

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2017年12月27日

Java7任务并行执行神器:Fork&Join框架

下面实现一个Fork/Join小例子,从1+2+...10亿,每个任务只能处理1000个数相加,超过1000个的自动分解成小任务并行处理;并展示了通过不使用Fork/Join和使用时的时间损耗对比。
2017年12月27日

10年老兵给程序员的10条建议!

遇到不懂的问题,要先尽力解决,别动不动就截个图扔在别人求帮忙,上司和同事不是来给你擦屁股的,但是真的搞砸了就要尽快求助。
2017年12月26日

年末干货!Java技术栈2017年度精选干货总结

把此文转发分享到朋友圈,集17个赞,截图回复到公众号里面,可获取2017年度本公众号整理打包好的全套资源(全套面试题答案、分享的视频教程等)。
2017年12月24日

2017阿里技术年度精选(全)

这套书同时收录了十多位阿里技术人的访谈:从工程师到合伙人的多隆,6年时间影响数亿用户的靖世,入选MIT2017年度TR35的王刚&吴翰清,免试晋升为研究员的钱磊等,将为你展现不一样的技术人生。
2017年12月22日

jdk紧急漏洞,XMLDecoder反序列化攻击

这段代码改成了用String输入源的形式,这不重要,重要的是还是利用了jdk中的XmlDecoder类来解析xml字符串。这段代码执行后,会调用出本地的计算器程序。
2017年12月21日

分布式系统架构常识:CAP理论。

尽管系统中有任意的信息丢失或故障,系统仍在继续运行。以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
2017年12月20日

关系型数据的分布式处理系统:Cobar

VARBINARY字段不能使用。若特殊需求需要这三种字段,禁止使用PreparedStatement的setBlob()或setBinaryStream()方法设置参数。
2017年12月19日

推荐一个在线创作流程图、思维导图软件—ProcessOn

专注于为作图人员提供价值,利用互联网和社交技术颠覆了人们梳理流程的方法习惯,继而使商业用户获得比传统模式更高的效率和回报,改善人们对流程图的创作过程。
2017年12月18日

常用缓存淘汰算法(LFU、LRU、ARC、FIFO、MRU)

这个缓存算法使用一个计数器来记录条目被访问的频率。通过使用LFU缓存算法,最低访问数的条目首先被移除。这个方法并不经常使用,因为它无法对一个拥有最初高访问率之后长时间没有被访问的条目缓存负责。
2017年12月17日

服务降级的概念及应用手段

判断应用来源,高峰时段拒绝低优先级应用的服务请求,保证核心应用正常工作。也可以随机拒绝请求,直接返回服务器繁忙,避免同时涌入过多的请求,这在电商秒杀时用的特别多。
2017年12月15日

8条关于Web前端性能的优化建议

之前的文章有讲过CDN的概念,它就是一个静态内容分发网络,本质就是静态资源的缓存,可以将静态资源放到CDN上,这样,用户就能离自己最近的地方获取到资源,大大提高了用户访问速度。
2017年12月14日

分布式Session共享解决方案

利用cookie记录session的也有缺点,比如受cookie大小的限制,能记录的信息有限;每次请求响应都需要传递cookie,影响性能,如果用户关闭cookie,访问就不正常。但是由于
2017年12月13日

Git操作常用的命令都在这里了。

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、容器、Git、面试题、最新动态等。
2017年12月12日

DevOps到底是什么鬼?DevOps介绍及工具推荐。

最近两年的公有云推广比较迅速,很多新的服务器采购都被导入到云上去了。现在主流的公有云都提供了比较完备的API,基于这些API也可以做一些针对基础资源的自动化操作,比如游戏行业的快速开服。
2017年12月11日

网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解

性能计数器是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。
2017年12月10日

Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件!

MYCAT背后有一支强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了MYCAT的产品质量。
2017年12月9日

Java内存泄漏介绍

内存管理是Java最重要的优势之一,你只需创建对象,Java垃圾收集器会自动负责分配和释放内存。但是,情况并不那么简单,因为在Java应用程序中经常发生内存泄漏。
2017年12月8日

服务高可用:幂等性设计

所以,对于服务幂等性设计的要点就是一定要效验请求参数有效性,及已有数据的对比。如果同样的请求参数已经处理过就不要重复处理,直接返回,这就是幂等性核心点。
2017年12月7日

GitHub上11月份最热门的Java项目

JRuby版本的实现。它扩展了观察者模式以支持数据/事件序列,并添加了运算符,因此可以声明性地组合序列,同步抽象的低级线程,线程安全性和并发数据结构等问题。
2017年12月6日

分布式服务防雪崩熔断器,Hystrix理论+实战。

在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败。高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险。
2017年12月5日

【干货】完整的支付系统整体架构!

协议支付也称代收或者代扣,代收指渠道授权商户可以从用户的银行账户中扣款,一般用于定期扣款,不用于日常消费。比如水电煤气、有线电视费。协议支付是通过封装银行、第三方支付提供的代扣或者快捷接口来实现。
2017年12月4日

5分钟带你理解一致性Hash算法。

。一般的,在一致性哈希算法中,如果增加一台服务器,则受影响的数据仅仅是新服务器到其环空间中前一台服务器(即沿着逆时针方向行走遇到的第一台服务器)之间数据,其它数据也不会受到影响。
2017年12月3日

如何让Git记住用户名和密码

(/c/Users/Administrator/.ssh/id_rsa)这个对当前会话有效,关闭窗口或者重启电脑又要重新设置,这个很蛋疼,如果有更好的解决方案的可以给我留言。
2017年12月2日

金融系统中正确的金额计算及存储方式

浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。所以,在使用float、double作精确运算的时候一定要特别小心,除非能容忍精度丢失,不然产生的误差也是会造成双方对账不一致的结果。
2017年12月1日

注意:字符串substring方法在jkd6,7,8中的差异。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年11月29日

轻松几步搞定SSH连接Git配置

https://help.github.com/articles/connecting-to-github-with-ssh/近期精选
2017年11月28日

Git安装及配置5分钟快速教程

与常用的版本控制工具CVS、Subversion等不同的是它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,最为出色的是它的合并跟踪的能力。
2017年11月27日

Spring Boot实现热部署

https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.html
2017年11月26日

Java中的宏变量,宏替换详解。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年11月25日

类、变量、块、构造器、继承初始化顺序,终极解答。

最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量、成员变量、静态代码块、非静态代码块、构造器,及继承父类时,它们的初始化顺序都是怎样的,下面我通过例子来说明这个情况,以免被人误导。
2017年11月24日

Spring Boot Debug调试

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年11月23日

Maven精选系列--classifier元素妙用

没有标准的jar包,但是有扩展的,如:json-lib-2.4-jdk15.jar,所以,这里要引入classifier这个元素了,classifier元素用来帮助定义构件输出的一些附属构件。
2017年11月22日

Java中创建String的两道面试题及详解

用""创建的a,b两个字符串,==和equals比较返回都为true,这是因为a,b都指向了方法区的同一个字符串。所以,当同样的一个字符串用""重复创建时只在方法区创建一次。
2017年11月21日

Tengine-Ngnix高级版

更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
2017年11月19日

通往大神之路,百度Java面试题前200页。

你如何理解AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)这些概念
2017年11月18日

去BAT面试完的Mysql面试题总结(55道,带完整答案)

1、一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15
2017年11月17日

一张图搞清楚Java异常机制

非运行时异常是程序必须进行处理的异常,捕获或者抛出,如果不处理程序就不能编译通过。如常见的IOException、ClassNotFoundException等。
2017年11月15日

腾讯,排行前10的开源项目

它集可扩展协议编解码、高性能RPC通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳定可靠的分布式应用,并实现完整有效的服务治理。
2017年11月14日

接口限流算法:漏桶算法&令牌桶算法。

Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。
2017年11月13日

Spring Boot国际化支持

如index.properties,indexzhCN.properties,index.properties作为找不到定义语言的资源文件时的默认配置文件。
2017年11月12日

【双11劲爆干货】阿里高级Java面试题(首发,70道,带详细答案)

关注微信公众号,回复"面试题答案",按步骤操作即可获取所有答案,本公众号微信群用户直接回复暗号实时获取即可。加微信群,在公众号回复“微信群”了解更多。
2017年11月11日

Spring Boot整合Thymeleaf模板引擎

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年11月10日

JVM运行时区域详解。

Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法被调用直至执行完成的过程就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。
2017年11月9日

Spring面试题(70道,史上最全)

分享Java技术干货,高并发技术,分布式技术,架构设计,Java面试题,热门技术视频教程,架构师视频教程等。
2017年11月7日

【推荐】大众点评Java开发实时应用监控平台-CAT

CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
2017年11月6日

Spring Boot日志集成

${LOG_PATH}/${LOG_DIR}/error.log.%d{yyyy-MM-dd}.log
2017年11月5日

云栖大会100位顶级大咖演讲PPT+视频全分享!

大会已经结束,但是它留下的宝贵财富,值得我们反复学习。阿里妹经过精心整理,为所有技术爱好者,送上一份重量级的干货学习包,包含100多位顶级大咖演讲干货+完整版PPT分享,今日起全部免费开放下载!
2017年11月4日

2017派卧底去阿里、京东、美团、滴滴带回来的面试题及答案

我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,用来回来这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。
2017年11月3日

欢迎入驻Java技术栈 “知识星球” !

为了回报铁杆忠实粉丝,我们特意建立了"知识星球"付费知识圈,以便更亲密的互动交流学习!觉得我们免费推送的技术内容有价值的话,我们的"知识星球"自然也是超值的,加入我们吧…
2017年11月2日

17张图揭密支付宝系统架构

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2017年11月2日

【推荐】百度分布式配置管理平台-Disconf

Disconf是基于Zookeeper,这里也推荐使用Disconf,毕竟这么多互联网大公司都在用。
2017年11月1日

Spring面试题(第一期)

web开发框架,Spring的应用及其原理的深入了解是每个Java开发程序员必经之路,下面10道面试题是Java开发程序员面试时会经常遇到的题目。
2017年10月30日

jstack命令:教你如何排查多线程问题

http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html
2017年10月29日

【推荐】阿里双11背后的技术:不一样的技术创新,阿里巴巴技术演进与超越

双11从阿里内部员工的一个点子到全球购物狂欢节,其背后支撑是服务、物流、大数据、云计算、金融服务等,是商家自身业务结构的调整、消费者消费习惯的转变、第三方开发者的大量入驻,以及整个生态的变迁。
2017年10月28日

Spring Boot Server容器配置

org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainerFactory
2017年10月26日

Spring Boot读取配置的几种方式

Boot可以通过@PropertySource,@Value,@Environment,@ConfigurationProperties来绑定变量。
2017年10月25日

(1024程序员节快乐)阿里祭出大器,Java代码检查插件

Idea下的代码检测插件PC3,可谓是国内代码优秀的检测插件。此插件检测的标准是根据<<阿里巴巴Java开发手册(终极版)>>上面制定的规定进行检测的。
2017年10月24日

Java多线程神器:join使用及原理

线程t开始后,接着加入t.join()方法,t线程里面程序在主线程end输出之前全部执行完了,说明t.join()阻塞了主线程直到t线程执行完毕。
2017年10月22日

SpringCloud配置中心内容加密

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
2017年10月21日

Java管理Cookie增删改查操作。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月20日

Intellij Idea乱码解决方案都在这里了

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月19日

什么是Kotlin?Java终结者?

Kotlin是面向对象和功能编程功能的JVM和Android的通用、开源、静态的实用的编程语言。它专注于交互性、安全性及清晰度和工具的支持。
2017年10月17日

SpringCloud动态刷新配置信息

spring-boot-starter-actuator:这个模块的/refresh(POST请求)端点可以刷新配置,更多的使用参考Spring
2017年10月15日

Java多线程sleep和wait的区别,总结得非常好。

我们都知道sleep是让线程休眠,到时间后会继续执行,wait是等待,需要唤醒再继续执行,那么这两种方法在多线程中的表现形态,它们各有什么区别呢?
2017年10月14日

SpringCloud配置中心客户端读取配置

使用Value就能读取配置中心的配置,当然也可以通过其他方式获取SpringCloud中的配置,参考之前SpringBoot系列文章。
2017年10月11日

SpringCloud配置中心高可用搭建

spring.cloud.config.server.git.clone-on-start:配置为true表示启动时就克隆配置缓存到本地。
2017年10月10日

阿里巴巴,排行前10的开源项目!

Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。
2017年10月9日

JDK8之新特性扩展篇

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月8日

JDK8新特性之重复注解

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月7日

JDK8新特性之Optional

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月6日

JDK8新特性之接口默认方法与静态方法

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月5日

JDK8新特性之方法引用

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月4日

JDK8新特性之函数式接口

3、@FunctionalInterface注解不是必须的,如果该接口只有一个抽象方法可以不写,它默认就符合函数式接口,但建议都写上该注解,编译器会检查该接口是否符合函数式接口的规范。
2017年10月3日

JDK8新特性之Stream流

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月2日

JDK8新特性之Lambda表达式

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年10月1日

终于,Spring 5.0正式发布了!

https://github.com/spring-projects/spring-framework/wiki/Migrating-to-Spring-Framework-5.x
2017年9月30日

SpringCloud服务安全连接

这样,就开启对服务连接的安全保护,系统默认为生成一个用户名为"user"及一个随机密码,随机密码在服务启动的时候在日志中会打印出来。
2017年9月29日

SpringCloud Eureka自我保护机制

https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication
2017年9月28日

SpringCloud注册中心高可用搭建

eureka.instance.prefer-ip-address:配置为true为喜欢IP,即连接注册中心使用IP地址形式,也可以使用HOSTNAME,但生产环境不推荐。
2017年9月27日

Spring Cloud是什么,和Dubbo对比呢?

Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring
2017年9月26日

阿里巴巴Java开发手册(终极版)

别人都说我们是码农,但我们知道,自己是个艺术家。也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美、质量的美。而代码规约其实就是一个对美的定义。
2017年9月25日

SpringMVC表单验证器的使用

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年9月24日

一分钟开启Tomcat https支持

protocol="org.apache.coyote.http11.Http11Protocol"
2017年9月21日

Spring Enable*高级应用及原理

AopConfigUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary(registry);
2017年9月20日

关于Java序列化你应该知道的一切

Java序列化技术正是将对象转变成一串由二进制字节组成的数组,可以通过将二进制数据保存到磁盘或者传输网络,磁盘或者网络接收者可以在对象的属类的模板上来反序列化类的对象,达到对象持久化的目的。
2017年9月18日

细数Intellij Idea的10个蛋疼问题!

在Eclipse中很少遇到控制台乱码的情况,而在IJ中,不管是tomcat还是main方法经常会遇到乱码的情况,有一些可以指定编码解决问题,而有一些是Eclipse正常在IJ中却乱码真的无从解决。
2017年9月17日

Intellij Idea非常6的10个姿势!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年9月16日

Spring Boot - Profile不同环境配置

除了在配置文件和命令行中指定Profile,还可以在启动类中写死指定,通过SpringApplication.setAdditionalProfiles方法。
2017年9月15日

Java高级进阶:自定义ClassLoader

上面自定义一个类加载器来读取自定义的目录,其实可以直接使用URLClassLoader就能读取,它已经实现了路径下类的读取逻辑。
2017年9月14日

字符串拼接+和concat的区别

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年9月13日

Spring Boot Runner启动器

如果启动的时候有多个ApplicationRunner和CommandLineRunner,想控制它们的启动顺序,可以实现
2017年9月12日

Spring Boot自动配置原理、实战

result.addAll(Arrays.asList(StringUtils.commaDelimitedListToStringArray(factoryClassNames)));
2017年9月11日

Spring Aware容器感知技术

如要获取容器中的某个Bean,可以继承ApplicationContextAware,让这个Bean拥有调用容器服务的能力。
2017年9月10日

Dubbo起死回生后的第一个版本:2.5.4发布

作者去瞧了一下,最新版本的dubbo现在已经发布到了Maven仓库。源代码请往https://github.com/alibaba/dubbo下载。
2017年9月9日

hashCode和identityHashCode的区别你知道吗?

1、str1和str2的hashCode是相同的,是因为String类重写了hashCode方法,它根据String的值来确定hashCode的值,所以只要值一样,hashCode就会一样。
2017年9月8日

3种常见的Class级别的错误

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年9月7日

Spring Boot定制启动图案

SpringApplicationBuilder(Application.class).bannerMode(Banner.Mode.OFF)
2017年9月6日

Spring MVC常用注解,你会几个?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年9月5日

34张架构史上最全技术知识图谱

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2017年9月4日

Spring快速开启计划任务

在要使用计划任务的方法上使用Scheduled,fixedRate表示固定频率,cron即自定义执行表达式,更多用法参考注解@Scheduled参数。
2017年9月1日

Spring Boot功能实战

Boot的快速构建网站http://start.spring.io/,来选择对应的启动器生成项目,最后导入进来即可。
2017年8月31日

Spring Boot核心配置

@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude
2017年8月30日

Spring Boot Starters启动器

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-starters/README.adoc
2017年8月29日

Spring Boot开启的2种方式

Boot区别开来,此时要用@...@包起来,不然无效。另外,@...@占位符在yaml文件编辑器中编译报错,所以使用继承方式有诸多问题,坑要慢慢趟。
2017年8月28日

SaaS,PaaS,IaaS都是什么鬼?

现在大部分企业都是选择Iaas服务,自己来搭建环境和开发软件,当然也不排除某些直接用的SaaS或者PaaS服务,具体看企业需求。
2017年8月27日

Java Map集合面试题汇总

分享Java技术干货,高并发技术,分布式技术,架构设计,Java面试题,热门技术视频教程,架构师视频教程等。
2017年8月26日

Spring开启方法异步执行

@EnableAsync注解即开启Spring对方法异步执行的能力,需要和注解@Configuration配合使用。
2017年8月25日

Maven精选系列--发布jar包到Nexus私库

公司自己的项目需要发布到Nexus私库提供给其他人依赖,这时可以用上面的方式先打成jar包再发布,也可以使用maven的eclipse插件。
2017年8月24日

什么是Spring Boot?

Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
2017年8月23日

Spring import配置文件使用占位符

applicationContext.getEnvironment().getPropertySources().addFirst(propertySource);
2017年8月22日

Spring MVC表单防重复提交

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月19日

10个Eclipse珍藏插件推荐

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月18日

Druid-目前最好的连接池

如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。分库分表较多的数据库,建议配置为false。
2017年8月17日

一张图搞懂Spring bean的完整生命周期。

bean的生命周期,从Spring容器启动到容器销毁bean的全过程,包括下面一系列的流程,了解这些流程对我们想在其中任何一个环节怎么操作bean的生成及修饰是非常有帮助的。
2017年8月16日

Spring零配置之@Configuration注解详解。

Spring3.0之前要使用Spring必须要有一个xml配置文件,这也是Spring的核心文件,而Spring3.0之后可以不要配置文件了,通过注解@Configuration完全搞定。
2017年8月15日

JAVA元注解@interface详解(@Target,@Documented,@Retention,@Inherited)。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月14日

Java List面试题汇总

这些问题其实在面试中都会部分遇到,也是我们Java开发人员必须要理解的,下面留言区会给出参考答案,如果你有更好的答案,你也可以在下面提出你自己的想法和疑问,欢迎留言。
2017年8月13日

10道腾讯的Java面试题

说容易也容易说复杂也复杂,想把它们都答好也不是容易的事,有几个题在之前的文章有详细说明过,答案可参考正文留言区,给出粗略答案,具体的可以查阅更详细的资料。
2017年8月12日

commons-logging,log4j,logback,slf4j之间的关系详解。

是apache最早提供的日志的门面接口。它的主要作用是提供一个日志门面,使用者可以使用不同的日志实现。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging,
2017年8月11日

Java开发必知道的国外10大网站

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月10日

起死回生的分布式神器-Dubbo

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点
2017年8月8日

HikariCP-史上最快速的连接池

所以有了BoneCP这个连接池,它是一个高速、免费、开源的JAVA连接池,它的性能几乎是C3P0、DBCP的25倍,十分强悍。
2017年8月7日

面试必问-几种线程安全的Map解析

2、当用在单例对象成员变量的时候呢?这时候多个线程过来访问的就是同一个HashMap了,对同个HashMap操作这时候就存在线程安全的问题了。
2017年8月6日

Java高级篇——深入浅出Java类加载机制

启动类加载器,完全由jvm控制加载,外面访问不到这个类加载器,即不能被java程序引用。它主要负责加载jvm自身的工作类,即java/lib目录和-Xbootclasspath参数指定的目录的类库。
2017年8月5日

Spring bean - scope详解

这也是Spring默认的scope,表示Spring容器只创建一个bean的实例,Spring在创建第一次后会缓存起来,之后不再创建,就是设计模式中的单例模式。
2017年8月4日

@Controller,@Service,@Repository,@Component详解。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月3日

@Resource,@Autowired,@Inject3种注入方式详解

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月2日

你必须了解Spring的生态

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年8月1日

Spring的核心模块解析

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2017年7月31日

Java多线程之<<守护线程>>实战

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年7月30日

Ehcache介绍及整合Spring实现高速缓存

Cache的Cacheable注解不支持失效时间设置,所以只能在ehcache.xml上面设计缓存。上面的配置文件配置了两种缓存,一种永久不过期的,一种缓存1小时,更多时限的在后面加就行。
2017年7月29日

如何"优雅"地终止一个线程?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年7月28日

浅谈大型网站之负载均衡架构

硬件负载均衡就是像F5这样的负载均衡设备,通过负载均衡硬件设备来分发用户的请求。硬件负载均衡性能特别好,但同时价格也非常昂贵,一般小公司用不起的,还有硬件负载均衡也不能动态扩容,当然这不够成问题。
2017年7月27日

获取Spring的ApplicationContext的几种方式

WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
2017年7月26日

多线程并发神器--ThreadLocal

新建ThreadLocal,类型为User,并初始化为tom,12岁,启动3个线程,每个线程循环3次,休眠1少,主线程再输出。
2017年7月25日

Spring AOP注解为什么失效?90%Java程序员不知道

B方法想当于使用this.B(),this代表的是Service类本身,并不是真实的代理Service对象,所以这种不能实现代理功能。
2017年7月24日

精选30道Java多线程面试题

之前的文章分享了很多关于多线程方面的知识,现在可以考验下大家多线程的功力了。这里不一一给出答案,上面有些没有讲过的点大家可以自行学习,也可以关注公众号以后的文章。
2017年7月23日

Maven精选系列--私库搭建及使用

所以,使用私库,第一,开源包只要有一个人下载过其他人就不需要再下载了,直接从私库下载即可。第二,可以用来管理第三方公司的或者远程仓库不存在的JAR包,或者公司不开源的JAR包。
2017年7月22日

浅谈浏览器的缓存机制

与Last-Modified功能类似的还有一个参数:Etag,即让服务器给每个页面分配一个唯一编号,然后可以通过这个编号来确定页面是不是最新的,这个使用较少,这里不再详述。
2017年7月21日

Maven精选系列--eclipse各种操作

在eclipse中设置maven的配置文件settings.xml路径,maven更新jar包、及仓库的位置等都通过这个主配置文件进行操作的,这个配置文件一定要设置好。
2017年7月20日

大型网站架构利器-CDN技术

IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2017年7月19日

一张图弄懂java线程的状态和生命周期

BLOCKED:表示线程阻塞,等待获取锁,如碰到synchronized、lock等关键字等占用临界区的情况,一旦获取到锁就进行RUNNABLE状态继续运行。
2017年7月18日

Maven精选系列--过滤不同环境配置文件

test,这时候的${env}的值就是test,打包的时候src/main/resources下的配置文件的占位符${xx.xx}将会被test.properties对应的xx.xx位置替换。
2017年7月17日

Zookeeper面试题锦集

另外,推荐看"从PAXOS到ZOOKEEPER分布式一致性原理与实践"这本书,搞透zookeeper,可以扫描下方的群进行下载。
2017年7月16日

Dubbo面试题锦集

以上不完全总结了dubbo面试过程中的一些问题,也是实际使用过程中经常会注意到的地方,虽然dubbo没有更新了,但国内使用还是挺多,里面的实现思想还是挺好的,也值得学习。
2017年7月15日

Maven精选系列--三种仓库详解

中央仓库即maven默认下载的仓库地址,是maven维护的,默认的中央仓库地址是:http://repo1.maven.org/maven2,这个地址设置在maven的源码配置文件中。
2017年7月14日

Maven精选系列--继承与聚合

这种依赖管理形式,dubbo项目就默认得不到继承,这是可选依赖,需要你自己单独添加需要继承的依赖,添加时不需要带版本号,默认继承父项目的。
2017年7月13日

Maven精选系列--依赖范围、传递、排除

在依赖传递过程中,如A依赖B、S2.0,B依赖C、S1.0,这样A就有了S1.0和S2.0两个依赖,这样某些情况下会造成冲突需要手动把B间接传递过来的依赖排除掉,就是不依赖B带过来的S1.0的包。
2017年7月12日

Maven精选系列--POM文件解析

项目的组织,一般是顶级域名名称+公司或者组织名称,如alibaba的项目组织为com.alibaba,如果你们公司的域名为www.abc.com,那你们的项目组织最好就以com.abc命名。
2017年7月11日

Maven精选系列--标准目录结构

dependencies就是所有的依赖jar包,target目录是打包生成的临时目录文件,包括了class文件,test的相关文件,及生成的jar包等,POM文件就是maven项目的核心配置文件。
2017年7月10日

Maven精选系列--常用命令详情

-Dmaven.test.skip=true,即打包的时候跳过单元测试,install、deplay命令都可以使用。
2017年7月9日

Maven精选系列--介绍与安装

使用Maven最大的好处就是不再需要我们手工维护项目中的各种jar包,及jar包需要依赖的其他jar包,也不再需要我们解决各种jar包之间的冲突,这一切maven帮我们都做好了。
2017年7月8日

一个诡异的"可见性"问题

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年7月7日

非常有用的并发控制-循环栅栏CyclicBarrier

首先CyclicBarrier构造方法接受5个线程数和线程聚齐时的回调线程。什么意思呢?就是当5个线程都调用了await()方法,这5个线程才继续往下执行,执行前先运行到齐时的回调线程。
2017年7月6日

非常有用的并发控制-倒计时器CountDownLatch

如上面的例子所示,我们输出了倒计时器最后的数字0,表示倒计时器归0了,也输出了从开始到结束所花费的时间。从这个例子可以完全理解倒计时器的含义,这个工具类在实际开发经常有用到,也很好用。
2017年7月5日

厉害了,关于String的10道经典面试题。

上面的10道经典的String面试题,你都会吗?如果不会或者说不清楚,你想想为什么面试官不选你,而选择别人,这是有原因的。本公众号会通过一系列的面试题来解析java核心技术。
2017年7月2日

面象对象设计6大原则之五:依赖倒置原则

所以,采用依赖倒置原则最大的特点是减少了类与类之间的耦合性,良好的支持各个模块并行开发互不影响,也提高了系统的可读性、可维护性和可扩展性。
2017年6月30日

面象对象设计6大原则之二:开放封闭原则

这些应用看起来也并不复杂,无非是合理地定义接口和抽象类,不同的业务功能采用不同的实现类达到扩展,像设计模式中的策略模式、模板方式模式等都是开放封闭的原则。
2017年6月27日

面象对象设计6大原则之一:单一职责原则

这样分开来,是不是就符合了单一职责原则,类的复杂性和耦合性也降低了,即使用户接口或账户接口加减接口也不影响别的接口实现类。
2017年6月26日

稍微有点难度的10道java面试题,你会几道?

在这里不一一解答,没有100%的答案。有一部分题在之前的文章中有对它们分别解析,不会的可以往前翻看,可以关注本公众号,在以后的文章中也会逐步解析它们的答案。
2017年6月25日

volatile关键字解析~高级java必问

上面这段程序如果不加volatile的话会一直卡在循环,此时的线程拿到的值永远为false,加了volatile3秒后就输出stop,所以这段程序很好的解释了可见性的特点。
2017年6月24日

高级java必须清楚的概念:原子性、可见性、有序性

可见性是指某个线程修改了某一个共享变量的值,而其他线程是否可以看见该共享变量修改后的值。在单线程中肯定不会有这种问题,单线程读到的肯定都是最新的值,而在多线程编程中就不一定了。
2017年6月23日

一个多线程死锁案例,如何避免及解决死锁问题?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月22日

java多线程中的死锁、活锁、饥饿、无锁都是什么鬼?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月21日

你知道void和Void的区别吗?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月20日

实现java多线程的3种方式,99%人没用过第3种

通过实现Runnable接口并重写run方法,并把Runnable实例传给Thread对象,Thread的start方法调用run方法再通过调用Runnable实例的run方法启动线程。
2017年6月19日

WEB攻击手段及防御第3篇-CSRF

使用验证码,简单粗暴,判断请求的验证码是否但用户体检会非常差,用户不希望所有的操作都要输入验证码,所以,不是非常重要的环节建议不要使用验证码。
2017年6月17日

WEB攻击手段及防御第1篇-XSS

新浪微博曾经就出现过一次较为严重的XSS攻击事件,攻击者通过发送一个带有链接的微博诱导用户点击,通过点击脚本链接大量用户自动发送某些不良信息和私信并自动关注攻击者的微博账号,这是典型的反射型漏洞。
2017年6月15日

关于java流的几个概念:IO、BIO、NIO、AIO,有几个人全知道?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月14日

学习java多线程,这必须搞懂的这几个概念,很重要。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月13日

Java码农必须掌握的循环删除List元素的正确方法!

xx)是增强的for循环,即迭代器Iterator的加强实现,其内部是调用的Iterator的方法,为什么会报ConcurrentModificationException错误,我们来看下源码
2017年6月12日

如何设计一个安全的登录流程

一段时间类的尝试登录失败次数达到某个值,要锁定用户登录,如失败5次锁定24小时。或者间隔性锁定,如失败3次后锁定半小时,再失败1次锁定1小时,再失败1次锁定24小时。
2017年6月11日

spring bean初始化及销毁你必须要掌握的回调方法。

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月10日

java高级应用:线程池全面解析

3、如果工作队列workQueue也满时:当线程数小于最大线程池数maximumPoolSize时就会创建新线程来处理,而线程数大于等于最大线程池数maximumPoolSize时就会执行拒绝策略。
2017年6月9日

java程序员被误导的一个概念,90%人不知道

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月7日

hashCode到底有什么用?

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月6日

Java提升篇-事务隔离级别和传播机制

一个事务只能读取数据库中已经提交过的数据,解决了脏读问题,但不能重复读,即一个事务内的两次查询返回的数据是不一样的。如第一次查询金额是100,第二次去查询可能就是50了,这就是不可重复读取。
2017年6月5日

高级JAVA码农必须搞清楚它们的区别:instanceof、isInstance、isAssignableFrom

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年6月4日

设计模式之动态代理模式实战

昨天分享了静态代理的概念及存在的缺点,所以今天讲的动态代理模式十分重要。动态代理在我们工作当中应用相当广泛,如Srping
2017年6月3日

厉害了,Servlet3的异步处理机制

可以看出servlet立马返回了,但没有关闭响应流,只是把response响应传给了线程,线程再继续输出,我们可以将比较费资源消耗时间的程序放到异步去做,这样很大程序上节省了servlet资源。
2017年6月1日

为什么byte取值-128~127??

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年5月31日

屌炸天,JDK8的排序大法!!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年5月30日

作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO

POJO、PO、DTO、DAO、BO、VO这些概念作为Java开发来说应该全部或者部分遇到过,作为架构师的你想必更是清楚这些概念在不同场景的应用。
2017年5月29日

Java趣味分享:try/finally

2、在try中return,在finally执行前会把结果保存起来,即使在finally中有修改也以try中保存的值为准,但如果是引用类型,修改的属性会以finally修改后的为准;
2017年5月28日

常用加密算法解析

Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。
2017年5月26日

并发控制--悲观锁和乐观锁详解

乐观锁就是用户修改数据时心态很乐观,不管别人修改不修改数据,我都不上锁,我修改的时候判断下数据有没有发生变化,没发生变化我就会更新成功,发生变化了就不会更新成功我再去重试之前的动作直到更新成功。
2017年5月25日

IntegerCache的妙用和陷阱!

分享Java后端技术干货,包括最新Java核心技术,高并发&多线程编程,分布式&微服务,架构设计,Java高级面试题,数据结构及算法,人工智能&区块链应用,最新行业动态等。
2017年5月24日

设计模式之单例模式实践

另外,spring容器中的实例默认是单例饿汉式类型的,即容器启动时就实例化bean到容器中,当然也可以设置懒汉式defalut-lazy-init="true"为延迟实例化,用到时再实例化。
2017年5月23日

Java集合从菜鸟到大神演变

类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序,只比HashMap慢一点。而在迭代访问时发而更快,因为它使用链表维护内部次序。
2017年5月21日

2017一季度JAVA面试题锦集

分享Java技术,高并发编程,分布式技术,架构设计,Java面试题,算法,行业动态,程序人生等。
2017年5月20日

深入理解CAS算法原理

就是指当两者进行比较时,如果相等,则证明共享数据没有被修改,替换成新值,然后继续往下运行;如果不相等,说明共享数据已经被修改,放弃已经所做的操作,然后重新执行刚才的操作。容易看出
2017年5月19日

dubbo服务调试管理实用命令

{"totalCount":1,"data":[{date":"2011-03-2314:10:32","name":"张三","keyword":null}]}
2017年5月17日