- 博客(252)
- 问答 (1)
- 收藏
- 关注
原创 protobuf-dt插件
protobuf-dt: 安装前先安装xtext 可以在 eclise maketplace 中install 然后按照protobuf-dt插件,不要再maketplace中安装,那个安装后 使用不了,我的eclipse是最新的Luna Service Release 1 (4.4.1) protobuf-dt 更新地址: http://protobuf-dt....
2015-03-24 13:16:50
828
原创 JVM内存管理以及内存溢出情况
首先我们要了解JVM内存划分,以及每个部分的功能 JVM内存管理大概来说分为 堆 和栈 两个部分 堆上是所有线程共享的数据区,而栈上数据是私有的 上图是JAVA运行时虚拟机时的数据区 方法区: 保存类的class信息,类描述,类的方法描述等,其中还有一部分就是 运行时的常理池 运行时...
2015-03-06 17:31:52
257
原创 JAVA SPI规范
最近看dubbo的源代码,发现很多对不同的容器,序列化方式提供了不同的实现,实现的机制是通过JAVA SPI 来实现的,就是基于接口的服务发现,一个接口不同的实现底层,而当外部程序装配这个模块的时候,就能通过该jar包META-INF/services/里的配置文件找到具体的实现类名,并装载实例化,完成模块的注入package com.ljq.code;public interf...
2014-11-06 15:47:50
232
原创 分布式原理介绍-阅读
1: 看到一本 百度同学 写的 《分布式原理介绍》 比较系统,非常有助于系统的了解分布式相关的概念原理和技术 2:今天又重新看了一遍<大型网站和java中间件>确实是受益匪浅啊! ...
2014-10-16 23:00:28
202
原创 java程序性能优化 --阅读
闲着,真实无聊; 发现一本好书《java程序性能优化》 从很多方面介绍了怎么是优化性能 1: 设计模式 单例的优化,最好选择内部静态类的方式 代理模式, 延迟加载;在很多orm框架中多有延迟加载的概念 享元模式, 和对象池类似,共享大对象用的,区别是 对象池中对象都是一样的; 装修模式,分离性能组件和功能组件,可以参考参考 观...
2014-10-14 17:56:27
120
原创 mysql分布式架构和DAL设计
简单的列子: 一张用户表 id, name, xxx ,上千万级别单台的mysql肯定也扛不住查询的压力,一般这个时候我们会做mysql主从,对用户板分区, 1主多从;读写分离, 可以减少读库的压力,然后对用户表进行垂直切分,按照业务做相关索引表等;当用户上亿的时候这个时候,这个时候也扛不住了就必须考虑要水平切分数据库了 把user表 按照某种规...
2014-10-09 19:14:08
428
原创 重构,设计模式,封装
1 :设计原理: 1面向借口编程,2:开闭原则 3:组合编程 设计模式: 1: 单列模式 参考http://iluoxuan.iteye.com/blog/2031206 2:工厂模式,创建对象 spring中beanfactory --一路的继承接口 3:模板方法, 抽象类定义方法模板,然后抽象一个方法延迟到子类实现 4:策略模式: 策略接口,有...
2014-09-27 21:41:39
157
原创 memcached和redis相关
memcached: c实现的服务端,java实现的客户端有很多spymemcached据说代码写的不咋的我们现在用的xmemached;国产的也是基于nio实现 1:memcached特点 2: 协议 3: 原理简介 memcached: 内存keyvalue结构,很好的水平扩展,容易集群;不支持持久化 memcached在数据删除方面有效利用资源...
2014-09-27 15:37:45
135
原创 mysql负载,查询优化,索引和锁等
mysql引擎有多种,每种实现的索引方式也不尽相同: 有hash索引,b树索引,b+树索引 我这边接触最大的是innodb引擎: 支持外键和事务:b+树索引的类型“1:InnoDB的主键索引(Primary Key)是Cluster形式的(聚簇索引)。: 按主键值生产b+树,叶子节点放的列的数据 2:InnoDB的非主键索引(Secondary Inde...
2014-09-27 12:50:39
144
原创 并发,锁相关
多线程是java中一大块,伴随的多线程必然有临界区资源的竞争问题: 当多个线程同时访问临界区的时候,就会产生所谓的并发问题: java中处理并发通常最常用的也是技术个人认为: 1: 不可变类, 2: synchronied同步字段 3: lock 4:ThreadLocal线程副本 5:并发容器 6: cas操作7: Semaphore(1)二进制信号量...
2014-09-26 23:51:44
142
原创 业务到代码的抽象
重构是一个非常重要的,重构的体现不仅仅在代码的格式,代码的封装,和大家倡导的设计模式; 重构的唯一理由,提高系统的性能;在代码层面对修改关闭对扩展开放,有助于应对需求的变化 关于怎么提高系统的性能方面; 根据业务,系统线上的压力; 重构表结构,动静分离,减少数据库表之间的相关关联索引所产生的压力; 代码层面,根据相关业务,抽象出具体的设计方法;...
2014-09-25 10:15:56
364
原创 java cas硬件底层接口 sun.misc.Unsafe UNSAFE
/***比较并更新对象的某一个整数类型的域*@param obj 被操作的对象*@param fieldoffset 被操作的域在对象中的偏移量*@param expect 域的期望值*@param update 域的更新值*/boolean compareAndSwapInt(Object obj,long fieldoffset, int expect, int...
2014-09-19 10:47:48
180
原创 paxos算法和zookeeper领导者选举
paxos算法介绍 http://my.oschina.net/linlifeng/blog/78918 paxos算法维基百科 http://zh.wikipedia.org/zh-cn/Paxos%E7%AE%97%E6%B3%95 zookeeper领导者选举 http://blog.youkuaiyun.com/xhh198781/art...
2014-09-09 16:58:13
315
原创 jetty invalid entry CRC问题
1: http://stackoverflow.com/questions/11993324/mvn-jettyrun-throwing-java-util-zip-zipexception-invalid-entry-size 4 down vote acceptedThe issue, as I suspected, was due a corrupt JA...
2014-08-04 11:42:17
1351
原创 基础题目
package com.ljq.base;/** * 90 = 2*3*3*5 * * @author ljq * @version 1.0 * @since 1.0 */public class Factorization { public static void factorization(int n) { StringBuilder...
2014-07-24 13:49:31
133
原创 nginx正向代理,反向代理,负载均衡
1:正向代理,反向代理,复杂均衡 参考:http://z00w00.blog.51cto.com/515114/1031287 2:具体配置: 参考:http://freeloda.blog.51cto.com/2033581/1288553
2014-06-06 15:50:06
300
原创 mysql高负载, 死锁排查
1:mysql的binlog和高负载2:mysql行锁3:mysql死锁原因 1:原理参考:http://www.cnblogs.com/ggjucheng/archive/2012/11/14/2770445.html
2014-05-27 12:32:07
197
原创 guice注入
Google Guice3.0:http://code.google.com/p/google-guice/ maven地址:<dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <v...
2014-05-24 12:13:05
580
原创 eclipse快捷键
1: clrl+alt+r : 最常用,快速定位到文件2:esc, 关闭弹出的对话框3:ctrl+shit+o 导入包4:art+ 方向左右建 来回退 看代码时最常用5:enter+shit 下一行,常用6:ctrl+鼠标点击 或者 F3 调到方法定义处 常用 window快捷键, alt+ctrl+tab 弹出选择的作业...
2014-05-21 16:01:12
92
原创 fidder web debug 抓包 手机应用
1: 下载fidder web debug:http://www.telerik.com/download/fiddler 2:设置 参考:http://www.cnblogs.com/findyou/p/3491014.html
2014-05-20 19:53:20
113
原创 java clone
转:http://www.blogjava.net/orangelizq/archive/2007/10/17/153573.html 现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的? 1. Clone&...
2014-05-16 17:04:36
89
原创 1:mysql 聚合索引
1: PRIMARY KEY (`id`), UNIQUE KEY `uid` (`uid`,`task_id`) 查询: mysql> explain select * from user_task where uid = 232;+----+-------------+-----------+------+---------------+-----...
2014-05-14 15:09:10
405
原创 ThreadLocal
简单介绍一下ThreadLocal的原理:1.ThreadLocal会为每一个线程维护一个和该线程绑定的实例变量的副本2.因为每一个线程都拥有自己独立的实例变量副本,而不会和其它线程的副本冲突 ThreadLocal的应用场合是按线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到。 1: 在HttpServlet中, 是单实例多线程的,每个req...
2014-05-13 18:39:05
104
原创 hession
一、首先先说Hessian是什么? Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用了二进制协议,所以它很适合于发送二进制数据,Hessian主要作面向对象的消息通信。Hessian的初衷就是支持动态类型,格式紧凑,跨语言Hessian是使...
2014-04-30 12:33:46
671
原创 冒泡和快速排序java
1: 冒泡最简单一种:/** * 算法效率o(n*n) * @param array * @return */ public void bubbleSort(int[] array) { if(array == null) { throw new IllegalArgumentExcepti...
2014-04-19 18:01:45
105
原创 java生产者和消费者模型三种实现
1: 生产者和消费者的问题,生产者生产产品到缓冲区,消费者从缓冲区中取,缓冲区如果满了,生产者就不能再生产,如果缓冲区为空,消费者则不能消费 1: 多线程并发执行,在生产产品和消费的时候可能是多个线程并发,所以必须加上锁,不然缓冲区的产生并发问题2:当缓冲区满或者缓冲区空洞时候要阻塞,直到符合条件 唤醒 1:第一种实现, wait(), notifyAll();publ...
2014-04-19 17:51:07
128
原创 单例模式
今天看到群里,关于单例模式的多线程下的安全问题:1:最简单写法的线程安全的单例,但是直接是在内存的,占空间package com.http.concurrent.test;public class Singleton { private static Singleton instance=new Singleton(); // 直接new 可以加上final ...
2014-03-14 16:06:19
103
原创 简单的并发测试例子
一个简单的并发测试的例子: 当线程数达到规定的数量,并发执行package com.http.concurrent.test;import java.util.concurrent.CyclicBarrier;/** * 测试业务处理线程 * @author lijunqing */public abstract class WorkRun implement...
2014-03-12 16:59:55
426
原创 freemarker的使用
1:freemarker eclipse插件安装方法:http://freemarker.org/editors.html,注意eclipse版本 2: 基本使用 <dependencies> <dependency> <groupId>org.freemarker</groupId> <artif...
2014-02-28 16:42:09
100
原创 java nio测试
package com.java.nio.study;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.Select...
2014-02-27 19:11:14
199
原创 netty4的资料和准备
Netty4 官网: http://netty.io/Netty4 文档: http://netty.io/4.0/api/index.htmlNetty4 github: https://github.com/netty/nettyNetty4 使用的项目: http://netty.io/wiki/related-projects.html 1 : 安装最新版的...
2014-02-26 00:19:22
124
原创 netty4学习研究系列-序
引用说明github伟大的一首诗:追随牛人,与他们一起修行 修行之道:关注大师的言行,跟随大师的举动,和大师一并修行,领会大师的意境,成为真正的大师。 虽然,和大师的差距巨大,但是,作为一名程序员我们需要改变世界的理想,最起码得改变人生的梦想,不管外行给我“it屌丝男”, “码农”等 可以称得上是“关荣”的称号,我们都始终以技术为伴,渴望改变,渴...
2014-02-26 00:00:24
119
原创 node.js
因为最近对node.js感兴趣, 1: 安装node.js 去官网下载最新的mis包,win7下 2: 在cmd下运行node -v 查看安装的版本 3: http://www.nodebeginner.org/index-zh-cn.html#javascript-and-nodejsnode.js入门的书籍; 安装sub lime text3 写js脚本;...
2014-02-23 22:29:40
93
原创 javascript模块化编程
最近因为多写了点js,感觉就会function,很多时候重名问题会污染变量,导致的问题找也找不到原因,所以花点时间总结下javascript模块化编写方法: 1:一般简单的用 function login(){}function logout(){}function ajax(){} 引用js,调用login(),lo...
2014-02-21 16:07:35
80
原创 javascript对象基础
全局变量和局部变量 1:块级外面的不管有误var显示声明都为全局变量 2:块级内部var显示声明的为局部变量,可以再{}块内任意地方声明,没有未全局变量 3:window都是全局变量 4:var a = { name:'ljq' }对象中全部是公有的,外部可以修改 5:当全局变量和局部变量同名时候...
2014-02-21 15:32:27
125
原创 ubuntu 按照memcached 和配置
ubuntu安装memcached: sudo apt-get install memcached 2:memcached配置和说明 察看是否启动 ps -ef|grep memcache启动: memcached -d -m 50 -p 11211 -u memcache -l 127.0.0.1 安装后默认: /usr/bin/memc...
2014-01-04 12:18:32
141
原创 spring3.2x-mvc 初始化
1:web.xml中的配置:<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> ...
2014-01-01 21:43:35
86
原创 spring3.2x-mvc源代码阅读
最近工作发现,对spring mvc的应用还是不怎么的灵活,扩展的程度低了点;所以决定花点时间读下spring3.2x的源代码 1:准备工作ubuntu12.4 安装jdk1.7.x , eclipse 4.2 (4.3老解压不了不知道为什么), m2e(去官网着最新的更新地址),apache-maven.3.x 安装记录:http://iluoxuan.iteye.com...
2013-12-29 23:30:41
112
空空如也
作为一个刚入门的对j2ee开发的理解和疑问?
2012-08-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人