自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 JDK 1.8 ArrayBlockingQueue 源码阅读(二)获取

在上一节,介绍了ArrayBlockingQueue的添加元素的方法,本节,结合源码给大家介绍一下获取元素的方法。获取元素的方法有下述几种E poll() 立刻返回,如果队列为空,返回nullE take() 如果队列不为空,返回队首元素,否则阻塞到队列不为空E poll(long timeout, TimeUnit unit) 等待timeout 时间的pollE p

2017-03-05 16:55:21 512

原创 JDK 1.8 ArrayBlockingQueue 源码阅读(一)插入

在工作环境中,我们通常会使用ArrayBlockingQueue 作为任务管理队列,并且之前在Qunar开发的时候,也用过ArrayBlockingQueue作为异步对列,实现了一个异步通知的程序。最近有点时间,阅读一下这个工具。我们知道ArrayBlockingQueue是一个FIFO的有界阻塞式对列,每次取对列的元素的时候,取的是队首的元素,而每次往这个对列的队尾放元素。先看一下这个class

2017-02-26 22:58:09 454

原创 FutureTask 源码阅读

public void run() { if (state != NEW || !UNSAFE.compareAndSwapObject(this, runnerOffset, null, Thread.currentThread())) return;

2017-02-08 11:50:29 435

原创 使用java写的简单的计算器代码

大学时候编译原理没有好好学,学完了也不会用,现在重新学一下,按照《自制编程语言》书上的设计,写了一个计算器的代码github地址

2016-10-09 17:50:43 4172

原创 聊聊TCP协议-------协议头详解

最近工作不是特别忙,又开始学习一些东西,之前因为对netstat命令显示的tcp状态不是很了解,加上之前看了一下tcp/ip那本黑色的书,准备整理一下tcp的相关内容。首先看一下tcp header 的内容,大概有这么几个字段source port: 2字节,也就是16位,表明发送端的端口号destination port:2字节,16位,标示接收端的端口号tcp作

2016-09-18 15:49:20 4801 1

转载 TIME_WAIT 和tcp_tw_reuse

版权声明:尊重博主劳动成果,欢迎转载,转载请注明出处 --爱技术的华仔(http://blog.csdn.net/yunhua_lee)tcp_tw_reuse选项的含义如下(http://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt):tcp_tw_reuse - BOOLEANAllow to reuse

2016-09-12 11:21:05 347

原创 git ignore 相关

今天晚上继续制作java后端项目模版,发现git add . 的时候会把一些无用的idea相关文件还有target下面的无用文件上传。在我已经commit之后,push之前发现这个问题,所以我要撤销commit ,只要git reset --hard 这个命令回滚一下,然后撤销add操作 git rm -r --cached . 这样把跟踪区的内容取消。于是想了一下,觉得不能每次都这样,

2016-07-24 22:35:48 299

原创 Debug时候发现的同名jar包加载问题

tomcat jar包加载顺序

2016-07-21 10:22:03 1399

原创 mac os mysql启动报错 Can't open the mysql.plugin table

Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!我第一次用sudo mysqld start启动的时候,报错是上面那个,我查了一下stackoverflow发现,mac下的启动要用mysql.server 那个命令但是我之后使用sudo mys

2016-07-04 23:11:55 2202

原创 IDEA 15 java -source问题

今天突然想试试jdk8的新特性,明明jdk装的是1.8 ,而且默认的jdk也是1.8,但是build项目时候报错如下后来发现,idea15 的file ->project->project structure 里面的设置是这样的把这个7改成8就好

2016-06-24 11:46:08 748

原创 解决 java.util.prefs.BackingStoreException 报错问题

启动tomcat后,发现有个warnning信息如下java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode Warning: Could not locksystem prefs. Unix error code 0. java.util.prefs.FileSystemPreferences syncWo

2015-11-26 11:13:58 29757 1

原创 memcached 客户端总结

本文将从memcached 使用角度,从客户端,协议,服务器端来简要介绍一下memcached 的特性。memcached是一个高性能的分布式K-V内存存储系统,其在内存中维护了一张hash表,由于其可以在内存中读取,所以读写速度很快,由于内容存在内存中,断电后会遗失,所以可靠性不如db,现在也有将memcached和BDB结合在一起的,叫做memcacheDB,这里不做讨论。由于其读写速

2015-06-13 22:55:41 1299

原创 SimpleDateFormat 线程不安全

rt,我在一个jsp里面启动了70个线程,但是他们共享了一个SimpleDateFormat,就报格式化错误了,一开始我以为是因为垃圾回收导致有用的信息被回收了,后来谷歌了一下,SimpleDateFormat这玩意线程不安全。

2015-04-15 22:28:43 495

原创 resin设置jvm启动参数

在resin.xml的 后面加上    -Xms4096m    -Xmx2048m    -Xmn1024m    -XX:PermSize=1048m    -XX:MaxPermSize=2000m    1024    30s    512    60s

2015-04-15 16:57:02 3692

转载 在mac os 安装python mysqlDb遇到的坑

点击打开链接和这篇一样

2015-04-14 20:29:40 448

转载 insert...on duplicate key update

生产环境收集到bug,在小组管理员进行ban/unban小组成员操作时需要更改小组成员的状态(单独的一张表,大概为:小组id,成员id,状态,前两列组成联合主键),往该表插入数据行时数据库提示insert主键冲突。分析原因,可能是服务器抖动(概率很小,而且看日志的重复次数不像是服务器原因),也可能是两个小组的管理员都在执行同一个小组成员的insert操作,一先一后,后操作的执行失败。 可能

2015-04-11 22:44:26 542

原创 学习python 快速排序

def q(start , end , a): if start>= end : return else : mid = (start+end)/2 i = start+1 j = end key =a[start] while i<j: while i<=end

2015-02-13 17:11:10 539

原创 再谈谈java的单例模式

原来转载过一篇关于单例模式的博客http://blog.csdn.net/u011700281/article/details/21951795现在自己由于实现一些管理器(比如 mysq了连接的管理器,redis的连接管理器,以及config的连接管理器),经常用到单例模式,不过,公司内的单例模式的实现方法有很多,自己也跟着总结一下。首先,为什么需要单例模式

2015-02-05 22:26:34 563

原创 linux 比较常用的命令

gzip , bzip2 ,tar 这三个,tar主要负责将一个文件夹打包,gzip和bzip2负责压缩功能,所以下的打包的压缩文件一般是tar.gz解gz的,tar -zxf解bzip2的,tar -jxflocate和findlocate是搜索文件,主要是在linux自带的数据库里面搜索文件,数据库一周才更新一次,所以搜到的不一定是最新的。fin

2015-01-12 11:02:22 449

原创 java classloader

classloader  分为 四种, bootstrapclassloader extclassloader appclassloader 还有用户自定义的classloader ,bootstrapclassloader是用来加载最核心的class的,extclassloader和appclassloader也是在这时候被加载的。extclassloader是加载一些扩展类库的class的,a

2015-01-12 10:54:28 398

原创 linux 启动过程

第一步 加载bios 检测各种硬件第二步 读取master boot record 就是读取主引导记录 ,并且将boot loader加载进内存第三步 这个boot loader就是操作系统内核运行之前跑的一段小程序, 初始化硬件设备,建立内存空间的映射图,准备调用操作系统内核。grub就是boot loader第四步 加载内核 根据grub 设定的内核影响加载内存映像,调用start_kerne

2015-01-12 10:51:47 324

转载 redis zset命令

zset 是sets 一个升级 ,是有序集合,这一属性在添加修改元素的时候可以指定,每次指定后,zset 会自动冲洗按心的值调整顺序,可以理解为两列的mysql表一两存value,一列存顺序,key理解为zset名字1  zadd 向集合中添加一个元素 如果值存在则更新顺序号   zadd myset 1 one   zadd myset 2 t

2014-08-06 10:28:54 6006

转载 ubuntu下安装jre 7

ubuntu下安装jre 71、将下载好的jre-7u5-linux-i586.tar.gz文件解压缩,得到jre1.7.0_05目录。 2、执行sudo mkdir /usr/lib/jvm 3、执行sudo mv ./jre1.7.0_05 /usr/lib/jvm 4、设置环境变量,执行sudo gedit ~/.bashrc加入以下语句后,保存退出

2014-07-17 14:17:32 506

转载 sqlite 命令

转载自http://www.cnblogs.com/frankliiu-java/archive/2010/05/18/1738144.htmlSqlite数据库sqlite3命令   SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。

2014-04-21 10:27:49 636

原创 设计模式-composite

简要介绍了composite设计模式

2014-04-20 17:32:47 853

转载 HTTPClient 入门

HttpClient简介HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Commo

2014-04-18 11:25:41 638

原创 java 生产者消费者问题

一个生产者和消费者问题

2014-04-14 18:21:02 793

原创 statement和preparestatement 小问题

statment比较容易被sql注入,因为他是直接把

2014-04-14 15:06:13 761

转载 sqlite索引

一、创建索引:    在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:    sqlite> CREATE TABLE testtable (first_col integer,second_col integer);    --创建最简单的索引,该索引基于某个表的一个字段。    sqlite> CREATE INDEX 

2014-04-14 14:47:43 974

原创 自己写的一个使用jdbc prepare存储数据的例子

public class TestSqlite { public static void main(String []args)throws Exception{ Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:D:\\c

2014-04-13 15:34:17 694

转载 java 数据库事物 Statement&prepareStatement

1) addBatch()将一组参数添加到PreparedStatement对象内部。2) executeBatch()将一批参数提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。Statement:1) addBatch(String sql)方法会在批处理缓存中加入一条sql语句。2) executeBatch()执行批处理缓存中的所有sql语

2014-04-12 10:09:22 696

原创 写一篇靠谱的通过jdbc使用sqlite java设置教程

首先,你需要下载几个文件

2014-04-11 15:48:55 1099

转载 redis.conf中文版

001# Redis示例配置文件002 003# 注意单位问题:当需要设置内存大小的时候,可以使用类似1k、5GB、4M这样的常见格式:004#005# 1k => 1000 bytes

2014-04-10 18:31:40 577

转载 redis 学习

一.redis 环境搭建1.简介       redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就是说list,set这些集合类型也只能包含string 类型。你可以在这些类型上做很多

2014-04-09 17:41:30 684

转载 redis 配置文件

# By default Redis does not run as a daemon. Use 'yes' if you need it.# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程dae

2014-04-09 12:11:15 730

原创 java 骨架类

java中,接口不能有某些函数的实现,这样导致了很多时候我们在实现里面都得重新写一些

2014-04-08 12:10:15 1630

转载 Servlet中forward和redirect的区别

Servlet中forward和redirect的区别forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);    redirect方式:response.sendRedirect("/somePage.jsp");forward是服务器内部重定向,程序收到请求后重新定向到另一

2014-04-02 15:16:36 725

原创 servlet 重定向(redirect)

主要有两种方式:1)  redirect 方式response.sendRedirect("/a.jsp");页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:response.sendRedirect("URL");注:这个url是要加上http的。跳转后浏览器地址栏变化。这种方式要传值出去

2014-04-02 15:13:26 896

转载 Tomcat 网页部署

Tomcat部署Web应用方法总结在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。在下文中$CATALINA_HOME指的是Tomcat根目录。一、静态部署静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。以下3种方式都可以部署:(以PetWeb项目为例说明,PetWeb

2014-04-01 17:52:50 920

原创 设计模式之适配器模式

1.意图:将一个类的接口转换成客户希望的另一个接口。2.动机:有时候,为了复用而设计的类不能够被复用的原因仅仅是因为他的接口与专业应用需要的接口不匹配。        举个例子,现在有一个汽车类,他有几个功能,比如加油、启动、制动等等,现在着汽车变得牛逼了,还能飞呢,但是我们不能在汽车基类里面加入飞的功能吧,因为这样修改了原有的基类,并且会导致不能飞的汽车(他们也继承于汽车)也有了

2014-03-30 17:19:46 632

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除