自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 想成为Java架构师?先学会如何画好架构图吧!

技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况:对着画布无从下手、删了又来?用一张图描述我的系统,并且让产品、运营、开发都能看明白?画了一半的图还不清楚受众是谁?画出...

2019-05-12 22:16:15 1648

原创 重构:高手的姿势你学不会

软件开发是一门工程技术,其中任何一个技术或技能如果孤立地看都会是管中窥豹,只见一斑。任何一个作者在写书时都有一些前提和细节,然而经常是要不作者没说清楚,要不读者直奔主题而忽略了这些前提和细节,结果是东施效颦,适得其反,照猫画虎不成反类犬。我在和很多人交流重构的时候发现,大家非常注重重构的结果,即重构前后的代码是什么样的,但会忽略重构的姿势。高手重构的姿势老马在书中强调频繁且小步地进行重构:"...

2019-05-10 21:15:12 161

原创 腾讯大牛教你如何使用Java实现二叉树的添加,删除,获取以及遍历

一段来自百度百科的对二叉树的解释:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是...

2019-05-09 16:59:22 252

原创 技巧分享丨可以提高千倍效率的Java代码的35个小技巧

前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每...

2019-05-08 15:18:20 141

原创 再不懂ZooKeeper,就安安心心把这篇文章看完

我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:Zookeeper 可以被用作注册中心。Zookeeper 是 Hadoop 生态系统的一员。构...

2019-05-07 16:19:00 125

原创 JVM 与 Linux 的内存关系详解

在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用 了),如下图所示。由于SWAP和GC同时发生会致使JVM严重卡顿,所以我们要追问:内存究竟去哪儿了?要分析这个...

2019-05-05 21:52:36 131

原创 Java大学问——优雅地处理异常

一.前言你有没有这样的印象,当你想要更新一款 APP 的时候,它的更新日志里总有这么一两句描述:修复若干 bug杀了某程序员祭天,并成功解决掉他遗留的 bug作为一名负责任的程序员,我们当然希望程序不会出现 bug,因为 bug 出现的越多,间接地证明了我们的编程能力越差,至少领导是这么看的。事实上,领导是不会拿自己的脑袋宣言的:“我们的程序绝不存在任何一个 bug。”但当程序出现 ...

2019-05-05 16:34:45 225

原创 微服务探索与实践—服务注册与发现

前言微服务从大规模使用到现在已经有很多年了,从之前的探索到一步步的不断完善与成熟,微服务已经成为众多架构选择中所必须面对的一个选项。服务注册与发现是相辅相成的,所以一般会合起来思索。其依托组件有很多,比如Zookeeper,Consul,Eureka等等。本文,我们将探讨服务注册和发现的概念及其使用机制,以使得微服务能够在不知道其确切位置(通常是URL)的情况下消费其他服务。由于本文主要是个人...

2019-05-04 17:13:04 119

原创 讲一些你所不知道的Java动态代理

简介Proxy 是设计模式中的一种。当需要在已存在的 class 上添加或修改功能时,可以通过创建 proxy object 来实现通常 proxy object 和被代理对象拥有相同的方法,并且拥有被代理对象的引用,可以调用其方法代理模式应用场景包括在方法执行前后打印和记录日志认证、参数检查lazy instantiation (Hibernate, Mybatis)AOP (t...

2019-05-02 21:24:15 89

原创 讲一些你所不知道的Java动态代理

简介Proxy 是设计模式中的一种。当需要在已存在的 class 上添加或修改功能时,可以通过创建 proxy object 来实现通常 proxy object 和被代理对象拥有相同的方法,并且拥有被代理对象的引用,可以调用其方法代理模式应用场景包括在方法执行前后打印和记录日志认证、参数检查lazy instantiation (Hibernate, Mybatis)AOP (t...

2019-05-02 21:24:06 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除