java
信马堂
既是程序员,必然苦于代码精于编程,码去石字是良骥,编程繁冗类杂缰,就叫个
《信马堂》如何,信马由缰,恣意徜徉,不胜快哉!
展开
-
java连接mysql调试过程
try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("数据库驱动错误"); System.out.println(e); } t原创 2017-07-12 02:02:44 · 310 阅读 · 0 评论 -
【RocketMQ源码深度解析】整体介绍&IDE编译并启动RocketMQ的第一个例子
整体介绍&IDE编译并启动RocketMQ的第一个例子一、整体介绍在RocketMQ里,有以下几个核心的模块:Producer,Consumer,Broker,NameSrv。他们之间的关系如下: 先简单了解一下各个模块的功能,下面会有章节详细介绍各个模块的功能。Producer和Consumer很好理解,顾名思义就是生产者和消费者,生产者负责生产消息,消费者负责消费消息,这2块的逻辑都...转载 2018-02-27 16:37:00 · 300 阅读 · 0 评论 -
【RocketMQ源码深度解析2】源码目录结构介绍&Remoting通信层
源码目录结构介绍&Remoting通信层一:源码目录结构介绍RocketMQ源码分为以下几个package:rocketmq-broker:整个mq的核心,他能够接受producer和consumer的请求,并调用store层服务对消息进行处理。HA服务的基本单元,支持同步双写,异步双写等模式。rocketmq-clien::mq客户端实现,目前官方仅仅开源了java版本的mq客户端,c+...转载 2018-02-27 17:47:18 · 338 阅读 · 0 评论 -
深入理解Java类加载机制(一)
1 前言:在上一篇文章一文让你明白Java字节码中,我们了解了java字节码的解析过程,那么在接下来的内容中,我们来了解一下类的加载机制。2 题外话Java的核心是什么?当然是JVM了,所以说了解并熟悉JVM对于我们理解Java语言非常重要,不管你是做Java还是Android,熟悉JVM是我们每个Java、Android开发者必不可少的技能。如果你现在觉得Android的开发到了天花板的地步,那...转载 2018-03-12 11:33:38 · 360 阅读 · 0 评论 -
深入理解Java类加载机制(二)
1 前言在深入理解Java类加载机制(一)一文中,我们了解了类的加载和连接过程,这篇文章重点讲述类的初始化过程,这样,我们就将类的加载机制弄明白了。2 初始化时机在上一篇 类的加载时机5.2中我们提到了“首次主动使用”这个词语,那什么是“主动使用”呢?主动初始化的6种方式(1)创建对象的实例:我们new对象的时候,会引发类的初始化,前提是这个类没有被初始化。(2)调用类的静态属性或者为静态属性赋值...转载 2018-03-12 11:34:18 · 348 阅读 · 2 评论 -
Java中高级面试题(1)
https://mp.weixin.qq.com/s/YZ2ZYPqyyq5J-B17C-JzhgList和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。 ...转载 2018-04-25 10:12:25 · 167 阅读 · 0 评论 -
1.zookeeper集群搭建
我是在自己买的三台阿里云服务器上进行搭建zookeeper集群的。1.首先是在每台机器上安装zk,下载解压设置环境变量等;2.设置zoo.cfg配置文件 设置dataDir和dataLogDir两个参数为相应的目录 配置集群中的服务器ip,如下格式: server.1=47.XX.XX.1:2888:3888 serv...原创 2018-11-16 20:07:47 · 207 阅读 · 0 评论 -
微服务架构:Eureka参数配置项详解
Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。 Eureka客户端配置 1、RegistryFetchIntervalSeconds 从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30...转载 2018-12-10 00:22:27 · 1391 阅读 · 0 评论 -
getResource的路径问题
// URL url = Test.class.getClassLoader().getResource("tinyioc.xml");// URLConnection urlConnection = url.openConnection();// urlConnection.connect();// InputStream input原创 2018-01-31 11:51:53 · 3110 阅读 · 0 评论 -
Guava Cache使用笔记
工作中遇到guava本地cache load方法获取到null导致应用报异常,记录一下。以下是转载:1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常 我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。 实际上Guava整体设计思想就是拒绝null的,很多地方都会执行co转载 2017-09-02 10:04:24 · 3320 阅读 · 0 评论 -
servlet中load-on-startup的含义
如下一段配置,熟悉DWR的再熟悉不过了: dwr-invoker org.directwebremoting.servlet.DwrServlet debug true 1 dwr-invoker /dwr/*我们注意到它里面包含了这段配置:1,那么这个配置有什么作用呢?贴一段英文原汁原味的解释转载 2017-07-16 20:35:22 · 458 阅读 · 0 评论 -
数据类型转换
javaphp自动类型转换简单数据类型由低级向高级自动转换(byte,short,char)--int--long--float--double。如:byte b;int i=b;long l=b;float f=b;double d=b;char型转为比他高级的整型类型时候会自动转为ascii值,如需'1'=>1,则Character.getN原创 2017-07-18 01:44:59 · 309 阅读 · 0 评论 -
java异常处理
java异常分为两类:一、checked异常 必须要处理的异常,要么catch要么throws。如果不处理,编译时候将会报错二、runtime异常 可以不用处理的异常,如果不处理将会一级一级往上抛,最终到达被catch到的地儿,如果程序中都没有catch的地儿,最终将会被jvm抛出throws用在方法签名中,用来声明本方法将抛出异常,如果声明抛出的是checke原创 2017-07-19 00:42:01 · 208 阅读 · 0 评论 -
java的初始化块
java类四种成员(成员变量、方法、构造器、初始化块)初始化块在类初始化过程中的顺序也类似于成员变量,与其在代码中的出现先后有关静态初始化块的执行顺序类似于静态成员变量,也是与其在代码中的出现先后有关总的执行顺序是:父类静态初始化块子类初始化块父类普通初始化块父类的构造器子类普通初始化块子类的构造器原创 2017-07-19 00:58:45 · 218 阅读 · 0 评论 -
StringBuilder、StringBuffer和+号的比较
参考:http://bsr1983.iteye.com/blog/1935856改了下深入分析Java使用+和StringBuilder进行字符串拼接的差异 的demo,发现+号的性能会更好以下两份代码的差别在于new StringBuilder在循环中代码:(StringBuilder性能好的情况)/** * Created by loongmoon on 17/7/23.原创 2017-07-23 21:22:58 · 580 阅读 · 0 评论 -
Java虚拟机发展史
作者:Javdroider Hong链接:https://www.zhihu.com/question/29265430/answer/209699247来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Java虚拟机发展史从1996年初Sun公司发布的JDK1.0中所包含的Sun Classic VM到今天,曾经涌现和湮灭过许多经典的虚拟机,接转载 2017-08-10 23:26:44 · 422 阅读 · 0 评论 -
170726笔记(ioc、动态代理、spring)
http://outofmemory.cn/java/spring/spring-hello-worldspring hello world:ApplicationContext ctx = new ClassPasthXml...("spring.xml");getBeanhttp://outofmemory.cn/java/spring/spring-ioc-meani原创 2017-07-26 17:35:32 · 286 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来转载 2017-08-22 11:58:35 · 208 阅读 · 0 评论 -
synchronized与static synchronized 的区别
1.synchronized与static synchronized 的区别 synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, 类的两个不同实例就没有这种约束了。那么static synchronized恰好就是要控制类的所有实例的访问了,static synchronized是限制线程同转载 2017-08-30 15:59:49 · 211 阅读 · 0 评论 -
java和php的比较
从php转入java开发也有一段时间了,阿里年会归来,高铁上旅途漫漫,所以跟同事聊起了java和php的比较。问:java有解释执行和jit,php有opcode,那如果把php的opcode做成编译式的,或者是把java源代码直接进行解释执行,那java和php是不是就相同了?答:首先java和php的区别不止在这一个方面,php是动态语言,java是静态语言,php的数据类型是可变的,原创 2017-09-10 13:43:32 · 1458 阅读 · 0 评论 -
springboot中SPI机制
一、从java类加载机制说起java中的类加载器负载加载来自文件系统、网络或者其他来源的类文件。jvm的类加载器默认使用的是双亲委派模式。三种默认的类加载器Bootstrap ClassLoader、Extension ClassLoader和System ClassLoader(Application ClassLoader)每一个中类加载器都确定了从哪一些位置加载文件。于此同时我们也可以通...转载 2019-06-11 15:33:43 · 4040 阅读 · 0 评论