自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(486)
  • 资源 (33)
  • 收藏
  • 关注

原创 Unicode与汉字之间互转,兼容里面位置有字母数字组合

Unicode配置文件有一段abc\u4e13\u4e1312ab\u4e1a\u4ee3\u7406对应的汉字值为:abc专业12ab代理自己写了几行代码,进行了转换,使用正则表达式匹配替换// 完成Unicode转换为字符串 public static String unicodeToString(String str) { Pattern pattern...

2019-02-23 11:44:59 1033

转载 学习Go 系列教程 —— 1. 介绍与安装

这是我们 Golang 系列教程的第一个教程。Golang 是什么Go 亦称为 Golang(译注:按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言。Golang 的主要关注点是使得高可用性和可扩展性的 Web 应用的开发变得简便容易。(译注:Go 的定位是系统编程语言,只是对 Web 开发支持较好)为何选择 Gol...

2018-11-11 13:55:28 360 1

转载 练习使用CSDN-markdown编辑器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2018-11-11 13:51:48 318

原创 Git提交过程中修改某次错误提交,或是修改bug的方法

Git提交过程中修改某次错误提交,或是修改bug的方法Git提交过程中不一定每次都是没有问题的,有可能在之前的提交中要修改某次错误提交或是修改bug的,这种情况下就可以使用该方法。

2017-12-25 19:15:17 2120

原创 Git开发时多分支防止多次提交版本线,使用cherry-pick、合并commit实现多次修改关联iusses

使用场景解决方案相关命令cherry-pick 单个commitcherry-pick 批量commit合并commit git rebase使用场景在实际操作中如果直接提交到生产分支,如果有问题修改或是bug修改的话,版本中就会有多次提交,iusses管理就会很烦乱。解决方案示意图:依据master,创建分支“hainan”,这个作为生产版本分支,新版本分支命名为“v_173”,开发版

2017-12-25 19:05:56 2409

原创 最近发现了个页面生成二维码的js工具

最近发现了个页面生成二维码的js工具,在页面调用时可以实时生成二维码,挺不错的的调用demo代码:Demo page TODO make a nice looking pure client qrcode generator even allow download of the imagejQuery(function(){ jQuery('#outpu

2017-12-12 13:03:03 1750

原创 linux环境查看tar压缩包内容,部分解压的命令

linux环境查看tar压缩包内容,部分解压的命令tar 解压部分文件tar命令大家都很熟悉了 这里整理一下部分解压,只解压出需要的文件, 这样就解决了tar包过大的情况下,解压速度太慢、解压后占用空间过大的问题查看tar包内包含的文件tar -tzvf u2file.tar.gz显示:-rw-r--r-- user/user 45489156 2008-08-

2017-02-17 11:19:07 7855

原创 linux系统安装ftp服务并配置ftp用户

1. 安装yum install vsftpd2. 配置ftp配置文件,内容基本最低配listen=YESbackground=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOdirm

2016-08-10 16:36:14 710

原创 IDEA如何打包可运行jar,外部引用jar包版

背景:有时候,我们会用IDEA来开发一些小工具,需要打成可运行的JAR包;或者某些项目不是WEB应用,纯粹是后台应用,发布时,也需要打成可运行的JAR包。并且,如果依赖第三方jar时,又不希望第三方jar也打入最终的可运行jar包,并且还希望,组织下目录结构(如把第三方jar文件,放到最终可运行jar包的并行目录lib下)开发环境OS: Windows 8.1JDK: 1.7.

2016-08-10 16:14:30 18661 2

原创 Linux系统下创建任务,对指定目录文件进行自动压缩存档

Linux系统下创建任务,对指定目录文件进行自动压缩存档        项目中会有大量图片上传,每天系统中要对图片进行分文件夹进行压缩存档,所以要对文件夹自动运行压缩,然后把原文件夹删掉,功能不算复杂但是有代表性。        linux中通过crontab实现调度任务,其使用方法如下:基本格式 :*  *  *  *  *  command分 时 日 月 周 命令

2016-03-30 11:19:28 2294

原创 linux下压缩相关命令

linux下压缩相关命令

2016-03-29 14:52:28 474

转载 Java 常用字符串操作 StringUtil 封装

/** * all rights reserved by zhanqiong, 2005 */package com.koubei.util;import java.beans.XMLDecoder;import java.io.BufferedInputStream;import java.io.ByteArrayInputStream;import java.io.Unsupp

2014-08-01 14:54:58 2252

转载 Mysql 自动备份与恢复

自动备份MySql 5.0有三个方案: 备份方案一: 通过 mysqldump命令,直接生成一个完整的 .sql 文件 Step 1: 创建一个批处理(说明:root 是mysql默认用户名, aaaaaa 是mysql密码, bugtracker 是数据库名)------------mySql_backup.bat-----------------

2014-06-18 14:46:54 694

转载 windows mysql 自动备份的几种方法

基于之前的文章方法,加入批处理命令即可实现自动备份。只是由于批处理命令中对于备份文件的名字按照时间命名比较特别,所以特别整理一文。1、复制date文件夹备份============================假想环境:MySQL   安装位置:C:\MySQL论坛数据库名称为:bbs数据库备份目的地:C:\db_bak\=====================

2014-06-18 14:43:57 602

转载 JAVA 定时任务之-Quartz使用篇

定时任务之-Quartz使用篇         Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。官方网站:http://www.opensym

2014-06-05 17:58:04 884

转载 利用zxing读写PDF417码制的二维码

项目中需要用到二维码,二维码的码制是PDF417,在做了一番研究之后发现zxing是个不错的开源工具(代码托管在google上面)。为什么选择zxing,由于其他一些工具比如barcode4j(开源,支持读,好像不支持写,最后维护时间在2010年)、barcode(商业版)都不太适合,所以选择了zxing。zxing并没有提供直接可以使用的jar文件,而是需要自己通过编译源码,生成需要的j

2014-05-24 13:13:16 7966 4

转载 glob 通配符

Shell 通配符您可能已经在不知不觉中早已使用了通配符了。当您在 Windows® 中指定文件或寻找文件时,您使用 * 代表任意字符串。例如:*.txt 同所有以 .txt 结尾的文件相匹配。我们也在上一节常常使用到它们。不过,除了 *,还有很多其他的通配符。当您键入 ls *.txt 命令并按 Enter 后,寻找哪些文件同 *.txt 模式相匹配的任务不是由 ls 命令,而是

2014-05-19 17:13:24 1360

转载 Redis几个认识误区

前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理

2014-05-19 10:26:57 1013

转载 java Jedis使用示例

package com.wujintao.redis;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.junit.T

2014-05-17 16:10:46 14225 1

转载 Redis数据分片以及扩容

投稿介绍:xiaotianqio,资深linux菜鸟程序员,搜索系统砖家,曾混迹于百度的互联网吊丝。刚开始接触Redis,大言不惭,聊卿一读。场景一开始数据比较少,一台服务器的内存就足够,因此一个Redis 就能满足需求,但是随着业务发展,数据量变大,可能需要在多台服务器上运行多个Redis,所以需要将已有的数据进行分片(避免数据丢失),不同的片交给不同的Redis 服务。如果在一开始就考

2014-05-17 15:43:56 2673

转载 java Jedis连接池的使用

所需jar:jedis-2.1.0.jar和commons-pool-1.5.4.jarJedis操作步骤如下:1->获取Jedis实例需要从JedisPool中获取;2->用完Jedis实例需要返还给JedisPool;3->如果Jedis在使用过程中出错,则也需要还给JedisPool;

2014-05-16 20:52:00 72720 4

转载 Memcache和Redis对比

Memcache和Redis对比

2014-05-12 20:33:36 1141

转载 java Redis Jedis存储Java对象 - (Java序列化为byte数组方式)

Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 - 转载请保留该原文链接) 07/19/12 03:08:05 PM 在

2014-05-12 19:45:13 5106 1

转载 不安装Oracle客户端使用PLSQL

不安装Oracle客户端使用PLSQL 要连接Oracle往往需要安装上百兆的ORACLE客户端,显得十分麻烦。先就介绍如何通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库。 其实这些操作都很简单,写在这里,就当是一个知识管理吧,以后忘记了怎么配置,就打开这篇博客。 (1)下载解压 将下载后的文件instantclient-basic-

2014-05-09 11:12:33 753

原创 java Jodd Props – 超强的配置文件使用

引用地址:http://www.kankanews.com/ICkengine/archives/92722.shtml

2014-05-07 17:39:20 4006

原创 java jodd 框架中发送email

用jodd发送电子邮件:

2014-05-07 16:52:29 2881 1

转载 java jodd框架介绍及使用示例

Jodd是一个普通开源Java包。你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能。Jodd 提供的功能有: 提供操作Java bean, 可以从各种数据源加载Bean, 简化JDBC的接连与代码, 剖析SQL查询, 处理时间与日期, 操作与格式化String, 搜索本地硬盘上的文件, 帮助处理Servlet请求等。除此之外还包含

2014-05-06 14:05:31 9363 1

转载 CentOS 6.0 安装过程图解

CentOS 6.0 安装过程图解地址:

2014-05-05 11:14:40 774

原创 myeclipse 注册码计算代码

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class MyEclipseGen { private static final String LL = "Decompiling this copyrighted software

2014-03-24 15:25:55 656

原创 JS 实现MD5加密,以及发现的JS对字符的处理、替换等

在实际开发工作中,用到接口开发,报文采用的是MD5加密方式,自己想做一个html的静态页面来实现报文的封装和加密,在这个过程中就发现了js对双引号“"”的处理不像看上去那么简单了。还有js替换字符串的方法。js实现MD5加密:相关js文件下载地址:http://download.csdn.net/detail/songylwq/7034729 data{"id"

2014-03-13 16:25:07 8577 1

转载 android eclipse中的Android直接運行java main方法

在Android项目中实现Socket通信,服务器端使用main方法创建ServerSocket,运行启动服务器时报错“Error: ShouldNotReachHere() ”。原因分析:java中使用main函数作为应用程序的接口,class的生命周期始于main方法,终于main方法。Android虽然使用的是java语法,但是却不使用main作为程序入口,一个activity启动时

2013-11-27 14:24:29 2753

转载 Android http get/post传递参数

本程序介绍如何通过HttpClient模块来创建Http连接,并分别以Http Get和Post方法传递参数,连接之后取回web server的返回网页结果。     注意,在用Post时,传递变量必须用NameValuePais[]数组存储,通过HttpRequest.setEntity()方法来发出http请求。     此外,也必须通过DefaultHttpClient().exec

2013-10-16 16:08:29 1486

转载 java 快速排序算法--归并排序的实现

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。//将有序数组a[]和b[]合并到c[]中void Memery

2013-10-15 16:10:08 897

原创 java 二进制,八进制,十进制,十六进制间相互转换的方法

int n1 = 14;//十进制转成十六进制:Integer.toHexString(n1);//十进制转成八进制Integer.toOctalString(n1);//十进制转成二进制Integer.toBinaryString(12);//十六进制转成十进制Integer.valueOf("FFFF",16).toString();//十六进制转成二进

2013-10-15 11:31:04 2971

转载 java 高效率的排列组合算法(java实现)

感谢分享:http://blog.csdn.net/wmj2003/article/details/3678941

2013-10-14 11:18:25 24780

原创 java 简单的HttpClient工具类,解决返回中文有部分乱码的情况

import java.io.IOException;import java.io.InputStream;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org

2013-09-18 14:51:37 11730 1

原创 java dom4j 解析xml字符串的操作实例

package test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import

2013-08-13 16:41:28 11328 1

原创 java java local cache本地缓存的两种实现,一个基于list轮询一个基于timer定时

最近项目要引入缓存机制,但是不想引入分布式的缓存框架,所以自己就写了一个轻量级的缓存实现,有两个版本,一个是通过timer实现其超时过期处理,另外一个是通过list轮询。       首先要了解下java1.6中的ConcurrentMap ,他是一个线程安全的Map实现,特别说明的是在没有特别需求的情况下可以用ConcurrentHashMap。我是想学习一下读写锁的应用,就自己实现了一个S

2013-07-24 14:57:14 14464 4

转载 java java中的设计模式总结

设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类

2013-06-17 13:00:00 699

转载 SQL 优化SQL查询:如何写出高性能SQL语句

1、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固定的,它是“个性化的”。产生一个

2013-06-15 12:15:13 1049

proxmark3固件互刷

proxmark3固件互刷,适合小白,动手能力简单易懂的可以刷刷

2023-09-20

openssh-9.0p1-el8.rar.tgz

CentOS 8.5 211 操作系统上制作的openssh9.0p1 rpm安装包 适用于CentOS 8 rhel8 系列的操作系统修复安全漏洞,升级更新openssh版本到当前最新版本(2022年5月9日) 需要注意防火墙和selinux影响

2023-07-05

DFA实例敏感词过滤实例,附带关键词文件

DFA实例敏感词过滤实例,附带关键词文件,初始化工具类后,可以对输入值进行过滤

2019-02-22

GO编译开发环境安装包-linux官方版

GO编译开发环境安装包-linux官方版,Go语言专门针对多处理器系统应用程序的编程进行了优化 Go语言官网: https://golang.org

2018-11-11

GO编译开发环境安装包-Windows

GO编译开发环境安装包-Windows官方版,可能部分用户因为某种原因无法官网下载

2018-11-11

js生成二维码

js生成二维码 页面调用: [removed][removed] [removed][removed] [removed] jQuery(function(){ jQuery('#output').qrcode("12345687965484351354384135"); }) [removed]

2017-12-12

JS实现MD5加密,提供多种加密方法

JS实现MD5加密,JS直接可调用 JS实现MD5加密,提供多种加密方法 function hex_md5(s) function b64_md5(s) function str_md5(s) function hex_hmac_md5(key, data) function b64_hmac_md5(key, data) function str_hmac_md5(key, data)

2014-03-13

java二维码生成、解析的jar包,很实用

java二维码生成、解析的jar包,很实用,需要的小盆友可以下来看看

2013-09-29

java自己修改的支持public属性、父类属性的json自动编译的工具类

java自己修改的支持public属性、父类属性的json自动编译的工具类

2013-08-09

java普通类编译成json但只是当前类的有getter、setter方法的版本

java普通类编译成json但只是当前类的有getter、setter方法的版本

2013-08-09

svn插件myeclipse+svn插件

svn 插件 myeclipse 插件文件+安装方法在压缩包内

2013-07-04

Java并发编程实战

Java并发编程实战 本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合Java程序开发人员阅读 目录 · · · · · · 对本书的赞誉 译者序 前 言 第1章 简介1 1.1 并发简史1 1.2 线程的优势2 1.2.1 发挥多处理器的强大能力2 1.2.2 建模的简单性3 1.2.3 异步事件的简化处理3 1.2.4 响应更灵敏的用户界面4 1.3 线程带来的风险4 1.3.1 安全性问题5 1.3.2 活跃性问题7 1.3.3 性能问题7 1.4 线程无处不在7 第一部分 基础知识 第2章 线程安全性11 2.1 什么是线程安全性13 2.2 原子性14 2.2.1 竞态条件15 2.2.2 示例:延迟初始化中的竞态条件16 2.2.3 复合操作17 2.3 加锁机制18 2.3.1 内置锁20 2.3.2 重入21 2.4 用锁来保护状态22 2.5 活跃性与性能23 第3章 对象的共享27 3.1 可见性27 3.1.1 失效数据28 3.1.2 非原子的64位操作29 3.1.3 加锁与可见性30 3.1.4 Volatile变量 30 3.2 发布与逸出32 3.3 线程封闭35 3.3.1 Ad-hoc线程封闭35 3.3.2 栈封闭36 3.3.3 ThreadLocal类37 3.4 不变性38 3.4.1 Final域39 3.4.2 示例:使用Volatile类型来发布不可变对象40 3.5 安全发布41 3.5.1 不正确的发布:正确的对象被破坏42 3.5.2  不可变对象与初始化安全性42 3.5.3 安全发布的常用模式43 3.5.4 事实不可变对象44 3.5.5 可变对象44 3.5.6 安全地共享对象44 第4章 对象的组合46 4.1 设计线程安全的类46 4.1.1 收集同步需求47 4.1.2 依赖状态的操作48 4.1.3 状态的所有权48 4.2 实例封闭49 4.2.1 Java监视器模式51 4.2.2 示例:车辆追踪51 4.3 线程安全性的委托53 4.3.1 示例:基于委托的车辆追踪器54 4.3.2 独立的状态变量55 4.3.3 当委托失效时56 4.3.4 发布底层的状态变量57 4.3.5 示例:发布状态的车辆追踪器58 4.4 在现有的线程安全类中添加功能59 4.4.1 客户端加锁机制60 4.4.2 组合62 4.5 将同步策略文档化62 第5章 基础构建模块66 5.1 同步容器类66 5.1.1 同步容器类的问题66 5.1.2 迭代器与Concurrent-ModificationException68 5.1.3 隐藏迭代器69 5.2 并发容器70 5.2.1 ConcurrentHashMap71 5.2.2 额外的原子Map操作72 5.2.3 CopyOnWriteArrayList72 5.3 阻塞队列和生产者-消费者模式73 5.3.1 示例:桌面搜索75 5.3.2 串行线程封闭76 5.3.3 双端队列与工作密取77 5.4 阻塞方法与中断方法77 5.5 同步工具类78 5.5.1 闭锁79 5.5.2 FutureTask80 5.5.3 信号量82 5.5.4 栅栏83 5.6 构建高效且可伸缩的结果缓存85 第二部分 结构化并发应用程序 第6章 任务执行93 6.1 在线程中执行任务93 6.1.1 串行地执行任务94 6.1.2 显式地为任务创建线程94 6.1.3 无限制创建线程的不足95 6.2 Executor框架96 6.2.1 示例:基于Executor的Web服务器97 6.2.2 执行策略98 6.2.3 线程池98 6.2.4 Executor的生命周期99 6.2.5 延迟任务与周期任务101 6.3 找出可利用的并行性102 6.3.1 示例:串行的页面渲染器102 6.3.2 携带结果的任务Callable与Future103 6.3.3 示例:使用Future实现页面渲染器104 6.3.4 在异构任务并行化中存在的局限106 6.3.5 CompletionService:Executor与BlockingQueue106 6.3.6 示例:使用CompletionService实现页面渲染器107 6.3.7 为任务设置时限108 6.3.8 示例:旅行预定门户网站109 第7章 取消与关闭111 7.1 任务取消111 7.1.1 中断113 7.1.2 中断策略116 7.1.3 响应中断117 7.1.4 示例:计时运行118 7.1.5 通过Future来实现取消120 7.1.6 处理不可中断的阻塞121 7.1.7 采用newTaskFor来封装非标准的取消122 7.2 停止基于线程的服务124 7.2.1 示例:日志服务124 7.2.2 关闭ExecutorService127 7.2.3 “毒丸”对象128 7.2.4 示例:只执行一次的服务129 7.2.5 shutdownNow的局限性130 7.3 处理非正常的线程终止132 7.4 JVM关闭135 7.4.1 关闭钩子135 7.4.2 守护线程136 7.4.3 终结器136 第8章 线程池的使用138 8.1 在任务与执行策略之间的隐性耦合138 8.1.1 线程饥饿死锁139 8.1.2 运行时间较长的任务140 8.2 设置线程池的大小140 8.3 配置ThreadPoolExecutor141 8.3.1 线程的创建与销毁142 8.3.2 管理队列任务142 8.3.3 饱和策略144 8.3.4 线程工厂146 8.3.5 在调用构造函数后再定制ThreadPoolExecutor147 8.4 扩展 ThreadPoolExecutor148 8.5 递归算法的并行化149 第9章 图形用户界面应用程序156 9.1 为什么GUI是单线程的156 9.1.1 串行事件处理157 9.1.2 Swing中的线程封闭机制158 9.2 短时间的GUI任务160 9.3 长时间的GUI任务161 9.3.1 取消162 9.3.2 进度标识和完成标识163 9.3.3 SwingWorker165 9.4 共享数据模型165 9.4.1 线程安全的数据模型166 9.4.2 分解数据模型166 9.5 其他形式的单线程子系统167 第三部分 活跃性、性能与测试 第10章 避免活跃性危险169 10.1 死锁169 10.1.1 锁顺序死锁170 10.1.2 动态的锁顺序死锁171 10.1.3 在协作对象之间发生的死锁174 10.1.4 开放调用175 10.1.5 资源死锁177 10.2 死锁的避免与诊断178 10.2.1 支持定时的锁178 10.2.2 通过线程转储信息来分析死锁178 10.3 其他活跃性危险180 10.3.1 饥饿180 10.3.2 糟糕的响应性181 10.3.3 活锁181 第11章 性能与可伸缩性183 11.1 对性能的思考183 11.1.1 性能与可伸缩性184 11.1.2 评估各种性能权衡因素185 11.2 Amdahl定律186 11.2.1 示例:在各种框架中隐藏的串行部分188 11.2.2 Amdahl定律的应用189 11.3 线程引入的开销189 11.3.1 上下文切换190 11.3.2 内存同步190 11.3.3 阻塞192 11.4 减少锁的竞争192 11.4.1 缩小锁的范围(“快进快出”)193 11.4.2 减小锁的粒度195 11.4.3 锁分段196 11.4.4 避免热点域197 11.4.5 一些替代独占锁的方法198 11.4.6 监测CPU的利用率199 11.4.7 向对象池说“不”200 11.5 示例:比较Map的性能200 11.6 减少上下文切换的开销201 第12章 并发程序的测试204 12.1 正确性测试205 12.1.1 基本的单元测试206 12.1.2 对阻塞操作的测试207 12.1.3 安全性测试208 12.1.4 资源管理的测试212 12.1.5 使用回调213 12.1.6 产生更多的交替操作214 12.2 性能测试215 12.2.1 在PutTakeTest中增加计时功能215 12.2.2 多种算法的比较217 12.2.3 响应性衡量218 12.3 避免性能测试的陷阱220 12.3.1 垃圾回收220 12.3.2 动态编译220 12.3.3 对代码路径的不真实采样222 12.3.4 不真实的竞争程度222 12.3.5 无用代码的消除223 12.4 其他的测试方法224 12.4.1 代码审查224 12.4.2 静态分析工具224 12.4.3 面向方面的测试技术226 12.4.4 分析与监测工具226 第四部分 高级主题 第13章 显式锁227 13.1 Lock与 ReentrantLock227 13.1.1 轮询锁与定时锁228 13.1.2 可中断的锁获取操作230 13.1.3 非块结构的加锁231 13.2 性能考虑因素231 13.3 公平性232 13.4 在synchronized和ReentrantLock之间进行选择234 13.5 读-写锁235 第14章 构建自定义的同步工具238 14.1 状态依赖性的管理238 14.1.1 示例:将前提条件的失败传递给调用者240 14.1.2 示例:通过轮询与休眠来实现简单的阻塞241 14.1.3 条件队列243 14.2 使用条件队列244 14.2.1 条件谓词244 14.2.2 过早唤醒245 14.2.3 丢失的信号246 14.2.4 通知247 14.2.5 示例:阀门类248 14.2.6 子类的安全问题249 14.2.7 封装条件队列250 14.2.8 入口协议与出口协议250 14.3 显式的Condition对象251 14.4 Synchronizer剖析253 14.5 AbstractQueuedSynchronizer254 14.6 java.util.concurrent同步器类中的 AQS257 14.6.1 ReentrantLock257 14.6.2 Semaphore与CountDownLatch258 14.6.3 FutureTask259 14.6.4 ReentrantReadWriteLock259 第15章 原子变量与非阻塞同步机制261 15.1 锁的劣势261 15.2 硬件对并发的支持262 15.2.1 比较并交换263 15.2.2 非阻塞的计数器264 15.2.3 JVM对CAS的支持265 15.3 原子变量类265 15.3.1 原子变量是一种“更好的volatile”266 15.3.2 性能比较:锁与原子变量267 15.4 非阻塞算法270 15.4.1 非阻塞的栈270 15.4.2 非阻塞的链表272 15.4.3 原子的域更新器274 15.4.4 ABA问题275 第16章 Java内存模型277 16.1 什么是内存模型,为什么需要它277 16.1.1 平台的内存模型278 16.1.2 重排序278 16.1.3 Java内存模型简介280 16.1.4 借助同步281 16.2 发布283 16.2.1 不安全的发布283 16.2.2 安全的发布284 16.2.3 安全初始化模式284 16.2.4 双重检查加锁286 16.3 初始化过程中的安全性287 附录A 并发性标注289

2013-06-20

liferay6中文开发文档(开发手册、二次开发指南、代码研读、开发环境配置等)

liferay6中文开发文档 包括: Liferay6开发者手册V1.0.doc Liferay+6.0.5开发指南.docx LiferayPortal二次开发指南.pdf Liferay代码研读.pdf liferay-技术文档.doc liferay架构.pdf Liferay开发环境配置说明文档.pdf

2013-06-07

(英文版)liferay6管理员手册(liferay-administrator-guide-6.0.pdf)

(英文版)liferay6管理员手册(liferay-administrator-guide-6.0.pdf)

2013-06-07

(英文版)liferay 用户接口开发(Liferay User Interface Development.pdf)

(英文版)liferay 用户接口开发(Liferay User Interface Development.pdf)

2013-06-07

(英文版)liferay portal 6 企业网络版(Liferay Portal 6 Enterprise Intranets.pdf)

(英文版)liferay portal 6 企业网络版(Liferay Portal 6 Enterprise Intranets.pdf)

2013-06-07

英文版liferay开发者手册(developersguide.pdf)

英文版liferay开发者手册(developersguide.pdf)

2013-06-07

java的用来处理数字方面的逻辑工具类

/** * @project: WebProjectUtil * @class: NumberUtil * @describe: 此工具类用来处理数字方面的逻辑, * 如返回指定位数的随机数字、Double的加减乘除精确运算、指定位数数字用“0”补齐 * @autho: Administrator * @date: 2013-6-7 下午02:26:27 * @alter: Administrator * @alterDate: 2013-6-7 下午02:26:27 * @alterRemark: * @version V1.0 */ public class NumberUtil { private static final int DEF_DIV_SCALE = 2; /** * @return 返回12位随机数 */ public static String randomNumber() { } /** * @param parm * @return 返回指定位数随机数 */ public static String randomNumber(int parm) { } /** * * 两个Double数相加 * * @param v1 * @param v2 * @return Double */ public static Double add(Double v1, Double v2) { } /** * * 两个Double数相减 * * @param v1 * @param v2 * @return Double */ public static Double sub(Double v1, Double v2) { } /** * * 两个Double数相乘 * * @param v1 * @param v2 * @return Double */ public static Double mul(Double v1, Double v2) { } /** * * 两个Double数相除 * * @param v1 * @param v2 * @return Double */ public static Double div(Double v1, Double v2) { } /** * * 两个Double数相除,并保留scale位小数 * * @param v1 * @param v2 * @param scale * @return Double */ public static Double div(Double v1, Double v2, int scale) { } /** * 返回指定Double的负数 * @param v1 * @return */ public static Double neg(Double v1) { /** * @Title: toFixdLengthString * @Description: 将字符串用符号填充位数 * @param str 源字符串 * @param fixdlenth 位数 * @return String * @throws */ public static String toFixdLengthString(String str, int fixdlenth) { } /** * @Title: toFixdLengthString * @Description: 将数字用“0”填充位数 * @param num * @param fixdlenth * @return String * @throws */ public static String toFixdLengthString(int num, int fixdlenth) { } /** * @Title: generateSpaceString * @Description: 得到指定位数占位符 * @param length * @return String * @throws */ public static String generateSpaceString(int length) { } /** * @Title: generateZeroString * @Description: 得到指定位数的“0”的占位符 * @param length * @return String * @throws */ public static String generateZeroString(int length) { } }

2013-06-07

日期操作工具类

日期操作工具类 /** * 将日期对象按照换为时间字符串 * 默认格式为"yyyy-MM-dd HH:mm:ss" * @param sourceTime * @return * @throws ParseException */ public static String formatDate(Date sourceDate) /** * 将日期对象按照指定格式转换为时间字符串 * @param sourceTime * @param formatStr * @return * @throws ParseException */ public static String formatDate(Date sourceDate, String formatStr) /** * 将时间字符串按照指定格式转换为时间字符串 * @param sourceTime * @param formatStr * @return * @throws ParseException */ public static String formatDate(String sourceTime, String formatStr) /** * 得到当前时间指定天数之前几天的日期 * @param days 指定的天数 * @return */ public static Date getFormerDateOfDays(int days) /** * 得到当前时间之前几个小时的日期 * @param hours 指定的小时数 * @return */ public static Date getFormerDateOfHours(int hours){} /** * 得到当前时间之前多少秒的日期 * @param sec 指定的秒数 * @return */ public static Date getFormerDateOfSecond(int sec){ } /** * 得到指定日期之前sec秒的日期 * @param days 指定的天数 * @return */ public static Date getFormerDateOfSecond(Date date, int sec){ } /** * 将时间字符串转换为日起对象 * 默认格式为“yyyy-MM-dd HH:mm:ss” * “yyyy/MM/dd HH:mm:ss”也可以 * @param sourceTime * @return * @throws ParseException */ public static Date paresDate(String sourceTime) throws ParseException { } /** * 返回指定月份的最后一天 * @param year * @param month * @return */ public static int getLastDayOfMonth(int year, int month){ } /** * 计算两个日期间的秒数 * @param beginDate * @param endDate * @return * @throws ParseException */ public static long getSecondBetweenDate(String beginDate, String endDate) throws ParseException { } /** * 将时间字符串按照指定格式转换为日期对象 * @param sourceTime * @param formatStr * @return * @throws ParseException */ public static Date paresDate(String sourceTime, String formatStr) throws ParseException { }

2013-06-06

Quartz定时任务帮助文档Quartz_Job_Scheduling_中文版_V0.9.1

Quartz定时任务帮助文档Quartz_Job_Scheduling_中文版_V0.9.1

2013-05-20

QRCode所需dll

适合.net平台开发QRCode二维码所需要的dll

2013-03-06

QRCode二维码编码支持中文生成二维码

QRCode二维码维码支持中文Asp.Net(C#),是VS2010的项目,VS2008、VS2005也可以用,需要在你的项目里引用ThoughtWorks.QRCode.dll,在二维码生成页面内加上下面的代码: using System.Drawing.Imaging; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; qrCodeEncoder.QRCodeScale = 4; qrCodeEncoder.QRCodeVersion = 8; qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; String data = "Hello 二维码!"; System.Drawing.Bitmap image = qrCodeEncoder.Encode(data); System.IO.MemoryStream MStream = new System.IO.MemoryStream(); image.Save(MStream, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = "image/Gif"; Response.BinaryWrite(MStream.ToArray()); 本项目100%可用。

2013-03-06

java二维码生成与解析代码实现

二维码的特点: 1. 高密度编码,信息容量大 可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。 2. 编码范围广 该条码可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。 3. 容错能力强,具有纠错功能 这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。 4. 译码可靠性高 它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。 5. 可引入加密措施 保密性、防伪性好。 6. 成本低,易制作,持久耐用

2013-03-06

Java程序设计基础教程.pdf

目录 前言 第一篇 Java语言入门篇 第一讲 Java语言快速入门 2 一、Java的起源和发展历程 2 二、Java语言的工作原理及特点 3 三、Java开发环境的建立 5 四、第一个Java程序的编译和运行 6 第二讲 Java中的数据类型和运算 11 一、Java输入/输出的初步运用 11 二、Java的标识符和保留字 12 三、Java的基本数据类型 13 四、Java基本数据类型转换 16 五、Java中的运算 18 第三讲 Java结构化编程 24 一、分支结构 24 二、循环结构 28 三、循环控制和循环嵌套 30 四、Java结构化编程综合 33 第二篇 面向对象篇 第四讲 类的定义和使用 38 一、面向对象程序设计思想 38 二、类的定义 39 三、对象的创建和对象引用 41 四、静态变量和静态方法的运用 43 第五讲 对象的初始化 47 一、用构造方法确保初始化 47 二、方法的重载 49 三、this关键字 51 四、对象的初始化过程 53 第六讲 类的封装 56 一、软件包的创建和使用 56 二、成员访问权限修饰符 59 三、类的访问权限修饰符 62 第七讲 类的继承 64 一、无继承时多类协作 64 二、类继承的实现 65 三、类继承时方法的重写 68 四、super关键字 69 五、阻止类的继承 70 第八讲 类的多态 73 一、对象的类型转换 73 二、抽象类和抽象方法 74 三、接口的创建和使用 76 第九讲 Java中的数组和字符串 80 一、Java中的数组 80 二、String字符串 84 三、String Buffer字符串 86 四、Java中命令行参数的用法 88 第十讲 Java资源结构 91 一、Java资源库概述 91 二、java lang包中常用的基础类 92 三、java util包中常用的工具类 96 四、查阅Java文档理解Java资源 98 第三篇 数据流应用篇 第十一讲 Java中的异常处理 104 一、异常和异常处理机制 104 二、异常的封装和分类 105 三、异常处理的实现 106 四、建立自己的异常类 109 第十二讲 文件管理和I/O入门 113 一、File类和文件管理 113 二、数据流的封装概述 115 三、Random Access File文件操作 117 第十三讲 Java中的字符流 122 一、Reader和Writer 122 二、File Reader和File Writer 123 三、其他字符I/O流 124 第十四讲 Java中的字节流 129 一、Input Stream和Output Stream 129 二、File Input Stream和File Output Stream 131 三、其他字节I/O流 132 第四篇 Java GUI编程篇 第十五讲 Java GUI编程入门 138 一、Java GUI编程概述 138 二、用J Frame类创建窗口界面 140 三、Java GUI常用组件 143 第十六讲 Java GUI布局管理 149 一、Java GUI布局管理概述 149 二、常用的基本布局管理 150 三、用面板J Panel实现分块布局 153 四、“计算器界面”项目的解析设计 155 第十七讲 Java GUI事件处理 158 一、Click me程序的解析设计 158 二、Action Event事件的侦听处理 159 三、常用事件及其相应的侦听器接口 162 四、Key Event和Mouse Event事件的侦听处理 163 五、“计算器”项目的解析设计 166 第十八讲 Java GUI编程进阶 170 一、J Color Chooser和J File Chooser 170 二、Java Editor项目的解析设计 173 三、更丰富的组件使用 175 四、“调查表”项目的解析设计 177 第十九讲 Java GUI菜单和工具栏 181 一、给GUI应用程序添加菜单 181 二、Java Editor项目的界面更新 183 三、为组件定制弹出式菜单 185 四、给GUI应用程序添加工具栏 187 第五篇 高级应用篇 第二十讲 Java多线程程序设计 192 一、初识Java多线程 192 二、线程的生命周期 194 三、多线程程序设计方法 195 四、线程的优先级和同步 197 五、“龟兔赛跑”模拟程序的解析设计 198 第二十一讲 Java Applet编程 201 一、初识Java Applet 201 二、Java Applet的生命周期 202 三、Graphics类和图形图像绘制 203 四、Applet中的参数和参数传递 206 五、“时钟Applet”的解析设计 208 第二十二讲 Java多媒体编程 210 一、Image对象和图像显示 210 二、声音播放的实现 212 三、“飞行动画Applet”的解析设计 215 第二十三讲 Java网络编程 217 一、IP地址与I net Address类 217 二、TCP/IP体系结构与URL类的使用 218 三、Socket网络编程 220 四、多线程“Socket聊天程序”的解析设计 223 第二十四讲 JDBC数据库编程 226 一、JDBC简介 226 二、数据库连接的实现 227 三、数据库基本操作 230 四、“用户注册”程序的解析设计 233 附录 239 附录A 上机实训和指导 240 附录B 课程设计任务和指导 253

2013-01-21

java编码多功能计算器

/***** ***** ***** 欢迎使用多功能计算器 v1.0 Beta ***** ***** *****/ ------meteor /***** ***** ***** ***** ***** 软件说明 ***** ***** ***** ***** *****/ 1.开发环境 Windows XP + eclipse 3.32 + JDK 1.50 2.运行方式 在装在有Java SE Runtime Environment(JRE)1.50 的机器上 双击 Calculator.jar 即可运行本程序. /***** ***** ***** ***** ***** 设计说明 ***** ***** ***** ***** *****/ 1.采用面向对象的设计思想. 所有字段都封装起来,(除了JButton b[]字段,因为现在还不会封装数组-_-!) 只能通过get(),set()访问. 2.图形化设计 用setBounds()布局,使面板组合更自然. 按钮图标是用PhotoShop做的,使界面更优美. 3.功能完善 实现了全部46个按钮的监听,能满足一般科学计算功能. 实现了不用按等号的连续运算. 当不小心按下除以0时,系统会提示重新输入除数,而不是要按"归0"才能继续运算. 这点可是比Windows自带的计算器要智能哦^-^! 添加了时钟面板,可以实时查看系统时间.(只是练习,系统时间哪台电脑没有-_-~) 4.思路清晰 灵活运用方法,使程序思路清晰明了. 同时较大程度的减小了代码长度,使总长度控制在1100行. /***** ***** ***** ***** ***** 关于作者 ***** ***** ***** ***** *****/ 学习JAVA两个月了,觉得应该可以做点东西了.在这次编写过程中,遇到了不 少困难,比如布局,按钮的监听,打包等.由于本计算器用到的按钮之多,逻辑之复 杂,曾让我陷入困境,但我通过不断地断点和条件调试,极大程度的消除了Bug. 但是,由于其复杂性又使我个人难以完成全部的覆盖测试,所以现在发个Beta版的, 请广大网友使用后,如果发现Bug或有任何疑问和建议,请与本人联系,以便即时 修正和完善,本人感激不尽!!!同时欢迎学习JAVA的人士共同学习,探讨有关JAVA 的问题.你们的关注和支持是我前进的巨大动力. 我的联系方式 E-mail:[email protected] QQ:170095942 本计算器开源,您可以在文件中获得源码.但需尊重个人的劳动成果,请不要 在未经本人同意情况下修改作者信息并发布源码或软件. 这是本人 JAVA 的第一部作品,以后还会陆续出其它作品的.欢迎交流,指教.

2013-01-18

餐饮管理系统源码java

餐饮管理系统源码java

2013-01-18

java模拟登陆开心网,给好友发送消息

java模拟登陆开心网,给好友发送消息 java模拟登陆开心网,给好友发送消息,获取消息条数,commons-httpclient-3.1.jar,commons-codec-1.3,jar 完全用java代码虚拟登陆开心网,可用给好友群发消息,获取消息条数等等,里面已经包含说需要的jar文件。 你可以通过登录开心网的学习登陆其他的网站…… 经测试,修改相关参数在校内网有效

2013-01-18

将1.5版本编译的jar包降级转编译为1.4版本的jar包

将1.5版本编译的jar包降级转编译为1.4版本的jar包

2013-01-16

支持IE5、6、7、8、9,极速、火狐的全浏览器支持软键盘

在网上找到的软键盘不适合开发中使用,修改后使其适合开发中引用使用 支持IE5、6、7、8、9,极速、火狐的全浏览器支持软键盘

2013-01-16

js做的全键盘兼容的软键盘

改良的js做的全键盘兼容的软键盘,挺好用的,经测试IE5、6、7、8、9,360极速、火狐、都完美支持

2013-01-15

用struts2拦截器实现输入数据过滤前后空格

用struts2拦截器实现输入数据过滤前后空格

2012-12-17

weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar

weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar

2012-12-15

myeclipse中android插件ADT16

myeclipse中android插件ADT16

2012-11-08

自己写的某网站批量扫描下载指定图片的javaDome,交流一下

自己写的某网站批量扫描下载指定图片的javaDome,交流一下

2012-11-06

空空如也

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

TA关注的人

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