- 浏览: 215585 次
- 性别:
最新评论
-
arpenker:
非常用心。不错。
spring boot + log4j2 配置 -
xqlsrjjjh:
亲测可用,上面所说的html放在src\main\resour ...
spring boot + websocket进行通信 -
thbcd:
PropertySource注解是Spring框架本来就有的 ...
spring boot中自定义properties文件并获取内容 -
ygaolei123:
帮了我大忙,谢谢
通过spring配置redis cluster -
WeaponLin:
建议作者写个总结,这样对bean的整个加载流程有个大概的轮廓, ...
spring加载过程,源码带你理解从初始化到bean注入
文章列表
[置顶] 个人书单、随时记录
- 博客分类:
- 随笔感想
已读完:《计算机科学导论 3rd》、《java核心技术卷1》、《深入理解java虚拟机 2nd》、《java并发编程实战》、《鸟哥的linux私房菜基础篇 3rd》、《effective java 2nd》、《图解HTTP》、《图解TCP/IP》、《mysql数据库应用入门与提高》、《AtomicScala 2nd》、《spring framework 4.2.4》、《spring实战 3rd》、《算法4》、《深入理解计算机系统 2nd》
未读完:《java核心技术卷2》、《深入剖析tomcat》、《从Paxos到Zookeeper,分布式一致性原理与实践》、《高性能mysql 3r ...
这次记录下学习hbase遇到的一些问题,有了新问题也会追加。
背景:使用vmware创建3台桥接模式虚拟机进行集群,熟练之后大概会使用7台。
宿主机操作系统:mac osx 10.11.3 16G 256G SSD。
软件版本:hadoop 2.7.2、zookeeper 3.4.8、hbase 1.2.2
1、瞎捣鼓,通过hdfs将/hbase目录删除了,此时执行在hbase shell中执行list命令是看不到表了的,但是再创建与之前相同名称的表便发生了Table Already Exists异常。
因为hbase的所有数据是在hdfs上进行存储的,所以当时以为删 ...
commons-pool2是apache的连接池框架,方便我们创建连接池,实现tcp连接的复用,不需要每次请求都发送握手请求、断开请求等操作,很多开源项目都采用了commons-pool,例如jedis。
上一篇的Grpc应用博客只是简单地实现了一个Grpc应用,但是,一个致命的缺点在于每次创建连接、断开连接时的高消耗,这次博客使用commons-pool2来实现一个Grpc的连接池。
首先,我们需要知道,服务端是不需要连接池的,google的Grpc服务端使用的是netty这个nio框架,能有效的处理每一个请求,而不是每次请求创建一个线程进行处理,等下我们会看到具体操作。而 ...
使用grpc可以用来进行不同系统之间的信息交互,而且grpc不限于java,使用同一个proto文件可以在不同的编程语言之间交互。
上面这张图介绍了proto文件的语法,对应proto3.0,具体更多的内容请参考文档:
http://www.grpc.io/docs/#generating-grpc-code
下面我们先讲一下如何在java中通过proto文件生成java代码,然后再讲如何使用。
添加如下依赖与插件:
Java代码
<dependency>
<groupId>io.grpc</grou ...
TCP是面向连接的、可靠的流协议。
UDP是不具有可靠性的数据报协议。
根据端口号就可以识别在传输层上一层的应用层中所要进行处理的具体程序。
TCP/IP、UDP/IP通信中,通常采用5个信息来识别一个通信。分别为:源IP地 ...
网络分层:应用层(Date + 应用协议)、传输层(.. + tcp/udp)、网络互联层(.. + ip)、网络接口层(.. + mac)
上面括号内的协议只是代表协议,其实还有更多的选择
以太网帧体格式:目标mac(6)、源mac(6)、类型(2)、数据(46-1500)、FCS(4)
网络拓扑:网络的连接和构成的形态称为网络拓扑。
MAC地址也不总是唯一的,即使MAC地址相同,只要不在同一个数据链路就不会出现问题。
半双工:只发送或指接受的通信方式。
全双工:允许在同一时间既可以发送数据也可以接收数据。
私有网络ip:
10.0.0.0 ...
这次带来的是一些在idea中的快捷键操作,现在网上很多博客介绍的快捷键都是基于windows的或太老的,所以自己这次就整理了一下,方便大家查阅。
功能介绍
keymap
显示或隐藏project窗口
⌘1
显示或隐藏最近修改的文件(与git关联)
⌘9
显示或隐藏Run窗口
⌘4
运行main方法(Run方式)
⇧^R
显示或隐藏Debug窗口
⌘5
运行main方法(Debug方式)
⇧^D
显示或隐藏终端窗口(Terminal)
⌥F12
上移当前行
⇧⌘↑
下移当前行
⇧⌘↓
复制当前行
⌘D ...
在effective java 2nd中第28条,有对java范型PECS的介绍。
首先,我们看一个在java中经常被我们使用的方法addAll():为什么在addAll的时候Collection的类型要通过继承范型E来进行限定? 有什么特殊的吗?接着我们再来看一看普通的add ...
目前的scala相关博客大概只能算一个笔记,方便自己记录,也帮大家查找信息了。
首先scala中的隐式转换可以分为隐式函数转换与隐式参数转换两类,下面就来分别说一下自己对这两种模式的理解。
1、隐式函数转换,我 ...
以前的log一直都是组长进行配置,自己甚至连log的级别都分不太清楚,为了避免这种尴尬的情况再次发生,自己尝试了一下在spring boot中进行log4j2的配置。
首先自定义一个log4j2.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target=& ...
之前写过的很多spring文章,都是基于应用方面的,这次的话,就带大家来一次对spring的源码追踪,看一看spring到底是怎么进行的初始化,如何创建的bean,相信很多刚刚接触spring的朋友,或者没什么时间的朋友都很想知道spring到底是如何工作的。
首先,按照博主一贯的作风,当然是使用最新的spring版本,这次就使用spring4.2.5...其次,也是为了方便,采用spring-boot-1.3.3进行追踪,和spring 4.2.5是相同的。
不用担心框架不同,大家如果是使用的xml方式进行配置的话,可以去你的ContextListener里面进行追踪,sprin ...
类型变量界定(Type Variable Bound)、视图界定(View Bound)、上下文界定(Context Bound),在scala中算很重要的内容了,这次博客就来写点自己的理解。
1、类型变量界定(Type Variable Bound):
// 编译错误
def typeVariable[T](a: T, b: T) = {
if (a ...
上周spring data redis更新了1.7.1版本,正式支持redis cluster集群模式,这里就介绍一下关于redis cluster集群的相关配置,例如redis连接池等内容。不过想要使用redis cluster集群的话,还是需要你先启动redis cluster才行,具体操作可以参考我之前的redis cluster集群搭建。
1、与之前的文章相同,不采用xml,而是使用代码的方式进行配置,首先我们先定义一个redis的配置类:
@Component
@EnableConfigurationProperties
@ConfigurationPropertie ...
今天在用spring配合scala时,遇到了一个关于@Autowired的问题,主要报错信息如下:
Caused by: java.lang.NoSuchMethodException: com.zk_chs.xxxxx.....<init>()
at java.lang.Class.getConstructor0(Class.java:3082) ~[na:1.8.0_73]
at java.lang.Class.getDeclaredConstructor(Class.java:2178) ~[na:1.8.0_73]
at org.springframewor ...
上次的笔记介绍的是zookeeper的安装、部署、部分java客户端代码,这次我们使用java自带的Jconsole或jvisualvm工具进行对zookeeper进行监控。
1、首先,zookeeper并没有配置开启远程连接jmx的端口信息,而是默认开启了本地连接而已。所以,我们需要添加一些配置,这些配置位于zookeeper目录下的bin/zkServer.sh中:
bin/Server.sh
============before============
ZOOMAIN="-Dcom.sun.management.jmxremote
-Dcom.sun.man ...