chengshiep
码龄11年
关注
提问 私信
  • 博客:96,197
    96,197
    总访问量
  • 70
    原创
  • 2,116,539
    排名
  • 9
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2013-12-16
博客简介:

chengshiep的专栏

查看详细资料
个人成就
  • 获得18次点赞
  • 内容获得3次评论
  • 获得25次收藏
创作历程
  • 4篇
    2017年
  • 58篇
    2016年
  • 16篇
    2015年
  • 2篇
    2014年
成就勋章
TA的专栏
  • 大型Web系统
    1篇
  • javascript
    1篇
  • centos6.5
    5篇
  • java-web
    9篇
  • mysql
    17篇
  • maven
  • php
    1篇
  • nginx
  • jdk源码分析
    4篇
  • spring
    3篇
  • java多线程
    19篇
  • 消息队列
    3篇
  • redis
    5篇
  • 设计模式
    2篇
  • jvm
    4篇
  • keepalived
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

357人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

java多线程通信方法

进程间通信的方法主要有以下几种(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关 系 进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。(3)信号(Signa
原创
发布博客 2017.09.08 ·
454 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程的状态分析

线程状态通过查看Thread源码,可以看到里面定义了枚举类State,如下:public enum State { /** * 线程创建之后,但是还没有启动(not yet started)。这时候它的状态就是NEW */ NEW, /** * 正在Java虚拟机下跑任务的线程的状态。在RUNNABL
转载
发布博客 2017.09.08 ·
505 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MySQl分表分库

一、综述1、需求分析随着数据量的增长,MySQL会有一系列问题,具体说来如下:(1)容量问题 单库包含多张表,部分单表容量过亿,磁盘存储不足(2)性能问题 单库处理能力有限,受制于连接池及机器资源等问题,TPS无法继续提升(3)扩展问题 单一主库无法灵活的进行升级和扩展,只能通过挂多个读库的方式进行扩展。 读库本身只能解决读的业务场景;且读库需要通过主库进行数据同步,如果数量过多主库压力也会
原创
发布博客 2017.09.06 ·
1050 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

this逃逸问题

当内部类代码执行的时候,外部类对象的创建过程很有可能还没结束,这个时候如果内部类访问外部类中的数据,很有可能得到还没有正确初始化的数据。public class ThreadThisEscape { private int weight = 0; public ThreadThisEscape() { new Thread(new EscapeRunnable()
原创
发布博客 2017.01.16 ·
627 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux查看日志命令

1、cat命令:1)显示整个文件(常用)。示例: $ cat fileName2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕。示例: $ cat file1 file2 > file说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)cat参数详解:-n 或 –number 由 1 开始对所有输出的行数编号-b 或 –number-n
原创
发布博客 2016.07.29 ·
862 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

web.xml文件详解

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> f
转载
发布博客 2016.07.27 ·
370 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Error、Exception分析

1、Throwable是Exception和Error类的父类 2、Exception分为可被控制(checked) 或不可控制的(unchecked) 可被控制(checked) : 该类直接继承自Exception,在java编译的时候就需要进行检查。因此在子类继承父类的同时或者其它方法调用该方法的时候,必须要抛出该异常或对异常进行处理。 该异常之所以被称为checked是因为必须要在
原创
发布博客 2016.07.27 ·
570 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Transaction Rollback

在使用编程方式进行spring的事务处理时,无需太考虑这个问题,可以再代码中显示的写上commit,rollback。 这里讨论的是如何在使用了aop进行spring事务管理如何进行事务回滚,也就是具体分析事务回滚的时机。Spring的AOP事务管理默认是针对unchecked exception回滚,也就是默认对RuntimeException()异常极其子类进行事务回滚。关于unchecked
原创
发布博客 2016.07.27 ·
559 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mysql索引优化

本文讨论BTREE方式的索引详解b+树如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35,包含指针P1、P2、P3,P1表示小于17的磁盘块,P2表示在17和35之间的磁盘块,P3表示大于35的磁盘块。 真实的数据存在于叶子节点即3、5、9、10、1
原创
发布博客 2016.07.25 ·
347 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

使用消息队列 实现 分布式事务处理

一、什么情景遇到分布式事务处理问题以经典的转钱案例:“A帐号向B帐号汇钱”,作为分析案例,一般来说该案例有以下几个过程:(1)从A帐号中把余额读出来 (2)对A帐号做减法操作 (3)把结果写回A帐号中 (4)从B帐号中把余额读出来 (5)对B帐号做加法操作 (6)把结果写回B帐号中以上6个步骤必须同时成功,同时失败。在我们的单系统应用中这个问题很好解决,只需要将这一系列操作放入一个事务中即
原创
发布博客 2016.07.25 ·
6103 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

获取Spring ROOT ApplicationContext 的几种方式

在spring中我们经常需要获取ROOT ApplicationContext, 以下就几种获取方式作分析:在使用spring的web项目中,在web.xml中有如下配置,进行spring的初始化:<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-cla
原创
发布博客 2016.07.04 ·
4338 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

MySQL InnoDB 四种事务隔离级别

InnoDB默认是可重复读的(REPEATABLE READ)修改全局默认的事务级别,在my.inf文件的[mysqld]节里类似如下设置该选项(不推荐)transaction-isolation = {READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE}改变单个会话或者所有新进连接的隔离级别(推荐使用)SET [SE
原创
发布博客 2016.06.28 ·
10934 阅读 ·
2 点赞 ·
0 评论 ·
11 收藏

Cookie与Session深入理解(一)——Cookie

基本操作HttpServletRequest request;HttpServletResponse response//1、获取cookiesCookie[] cookieList = request.getCookies();//2、根据cookieName获取值,遍历cookieListString retValue = null;for (int i = 0; i < cookieL
原创
发布博客 2016.06.02 ·
571 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

centos调整root的空间大小

1、首先查看磁盘使用情况 df -hFilesystem Size Used Avail Use% Mounted on /dev/mapper/vg_guoyixian-lv_root 50G 35G 12G 75% / tmpfs 1.9G 0 1.9G 0%
原创
发布博客 2016.05.25 ·
8050 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

ArrayList去除重复数据,排序

去除重复数据包括保持顺序和不保持顺序两个方法注意:因为借用了HashSet,所以判断重复需要重写 T 的hashCode()和equals()方法public class ListTools { /** * 删除重复元素,保持顺序 * @param list */ public static <T> void removeDuplicateWithOrde
原创
发布博客 2016.05.25 ·
3329 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

java hashCode() 与 equals()

用途hashCode()方法被用来获取给定对象的唯一整数。这个整数被用来确定对象被存储在Hash结构的集合类的元素存储位置。Object类默认的hashCode()方法返回这个对象存储的内存地址的编号。equals()判断两个对象是否相等。Object类默认的将会比较这个对象存储的内存地址的编号.重写 因为是继承自Object,所以直接重写该方法即可例如可以使用Apache Commons Lan
原创
发布博客 2016.05.25 ·
392 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

集合遍历

以下实例演示了如何遍历从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型的集合,以下我们分别使用了普通for,增强型的 for ,iterator 等方式来遍历集合:List与Set类型集合的遍历/* author by w3cschool.cc Main.java */import java.util.ArrayList;import java.util.H
转载
发布博客 2016.05.24 ·
372 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ThreadLocal

简介Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。使用public static final ThreadLocal holder = new ThreadLocal(); holder.set(“test”); // 存 ho
原创
发布博客 2016.05.24 ·
499 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

安装tomcat8

一、JDK安装(jdk-8u60-linux-x64.rpm)rpm -qa|grep jdk #查看是否有旧版本,有就卸载rpm -ivh jdk-8u60-linux-x64.rpm #安装jdkvi /etc/profile #修改环境变量,内容如下export JAVA_HOME=/usr/java/jdk1.8.0_60/export CLASSPATH=.:%JAVA_HOME%/li
原创
发布博客 2016.05.19 ·
612 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

log4j使用说明

一、log4j.properties 的使用详解 1.输出级别 OFF < FATAL < ERROR < WARN < INFO < DEBUG < ALL级别越高,一般输出的信息越多ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息建议:在调试的时候使用DEBUG 级别,上线后
原创
发布博客 2016.05.19 ·
321 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多