Java 动态代理及 RPC 框架介绍
作者:Frapples来源:https://frapples.github.io/articles/2018-03-30-4a97.html所谓动态代理,指的是语言提供的一种语法,能够将对对象中不同方法的调用重定向到一个统一的处理函数中来。python重写__getattr__函数能够做到这一点,就
推荐:mac上svn常用命令及好用的工具
作者:snandy来源:https://www.cnblogs.com/snandy/p/4072857.html#MacSVN命令行Mac自带了SVN命令行,如我的升级到10.10(OSXyosemite)后命令行版本为1.7.10以下是一些常用命令1、将文件checkout到本地目录svnche
提高代码可读性的 10 个技巧
作者:开源中国来源:https://www.oschina.net/translate/具有较强可读性的代码,能帮助你调试程序,不让自己活得太累。代码可读性是计算机编程领域中普遍存在的问题。这也是我们成为开发者首先要学习的事情之一。本文会详细介绍在编写强可读性代码时最佳实践中最重要的一部分内容。一注
Java Service Wrapper这种上古神器用过没?
作者:g21121来源:https://www.iteye.com/blog/286-1915478在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启。解
一台 Java 服务器可以跑多少个线程?
作者:新栋BOOK来源:www.jianshu.com/p/f1930596947d一台Java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值。京东自研UMP监控分析打出jstack文件,通过IBMThreadandMonitorDumpAnalyzerforJava工具
11 个简单的 Java 性能调优技巧
作者:码农网–小峰来源:http://www.codeceo.com/article/11-simple-java-performance-tips.html大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识。好吧,不能说这是完全错误的。优化应用程序以获得最佳性能不是一件容易的事情。但
数据库之互联网常用分库分表方案
作者:尜尜人物来源:https://www.cnblogs.com/littlecharacter/p/9342129.html一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接
Netty 在 Dubbo 中是如何应用的?
作者:莫那·鲁道来源:https://www.cnblogs.com/stateis0/p/9062171.html众所周知,国内知名框架Dubbo底层使用的是Netty作为网络通信,那么内部到底是如何使用的呢?今天我们就来一探究竟。1.dubbo的Consumer消费者如何使用Netty注意:此次
一文搞懂 Java 中的枚举,看完都懂了
作者:静默虚空来源:https://www.cnblogs.com/jingmoxukong/p/6098351.html知识点概念enum的全称为enumeration,是JDK1.5中引入的新特性。在Java中,被enum关键字修饰的类型就是枚举类型。形式如下:enumColor{RED,GRE
一文带你入门 区块链
作者:阮一峰链接:http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释
面向sql编程的探索之路
作者:邵磊来源:https://juejin.im/post/5b31b12ae51d4558957ddb7f前言在我们JavaWeb开发过程中,或多或少会有些只是几行sql语句的service方法或是http请求,总是要反复写Controller层、service层、dao层。于是,我做了一个大胆
Java : 对象不再使用时,为什么要赋值为null?
{if(true){byte[]placeHolder=newbyte[64*1024*1024];System.out.println(placeHolder.length/1024);}System.gc();}我们在if中实例化了一个数组placeHolder,然后在if的作用域外通过Syst
为什么C语言开发都不愿意用goto语句?4个原因告诉你
什么是goto语句goto语句被称为C语言中的跳转语句。用于无条件跳转到其他标签。它将控制权转移到程序的其他部分。goto语句一般很少使用,因为它使程序的可读性和复杂性变得更差。语法gotolabel;goto语句示例让我们来看一个简单的例子,演示如何使用C语言中的goto语句。打开VisualSt
用C语言写面向的对象是一种什么样的体验?
众所周知面向对象的三个特性:封装性、继承性、多态性。这几个特性的具体含义我等会会班门弄斧讲一下含义,下面,请允许我先用C++面向对象思维将设计模式中最常用的简单工厂模式写一边,相信这三个特性不言而喻。以下我将用一个工厂类实现具体汽车的生产,奔驰车、宝马车、奥迪车都将通过工厂类来生产,由父类指针指向具
Java:由浅入深揭开 AOP 实现原理
作者:马佩来源:juejin.im/post/5bf4fc84f265da611b57f906概述:最近在开发中遇到了一个刚好可以用AOP实现的例子,就顺便研究了AOP的实现原理,把学习到的东西进行一个总结。文章中用到的编程语言为kotlin,需要的可以在IDEA中直接转为java。这篇文章将会按照
你分析过mybatis工作原理吗?
来源公众号Java知音,作者皮皮哥Mybatis工作原理也是面试的一大考点,必须要对其非常清晰,这样才能怼回去。本文建立在Spring+SpringMVC+Mybatis整合的项目之上。我将其工作原理分为六个部分:读取核心配置文件并返回InputStream流对象。根据InputStream流对象解
Integer a1 = 40;Integer a2 = 40;a1 == a2吗?
介绍享元模式享元模式可以减少创建对象的数量,从而减少内存占用。享元模式本质上就是一个对象池,利用享元模式创建对象的逻辑也很简单,创建之前,首先去对象池里看看是不是存在;如果已经存在,就利用对象池李的对象,如果不存在,就会新创建一个对象,并且把这个新创建出来的对象放进线程池里。为什么要有常量池?常量池
讲一下分库分表方案的策略及注意事项?
一、数据库瓶颈1、IO瓶颈2、CPU瓶颈二、分库分表1、水平分库2、水平分表3、垂直分库4、垂直分表三、分库分表工具四、分库分表步骤五、分库分表问题1、非partitionkey的查询问题(水平分库分表,拆分策略为常用的hash法)2、非partitionkey跨库跨表分页查询问题(水平分库分表,拆
同样是等待,sleep和wait有哪些区别
基本的差别sleep是Thread类的方法,wait是Object类的方法sleep方法可以在任何地方使用,wait只能在synchronized方法或synchronized块中使用最主要的本质区别Thread.sleep只会让出CPU,不会释放对象锁Object.wait不仅让出CPU,还会释放
应该是全网最全的JVM知识点总结
1:什么是JVMJVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与