自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(231)
  • 资源 (83)
  • 论坛 (1)

原创 linux的cache过高的原因定位与解决

服务器cache占了大半的内存导致内存不足,先释放cache保障服务正常运行再说:手工释放缓存To free pagecache释放页缓存: echo 1 > /proc/sys/vm/drop_caches To free reclaimable slab objects (includes dentries and inodes)释放slab对象: echo 2 > /proc/sys/vm/drop_caches To free slab objects and p

2020-09-23 09:12:15 55

原创 shell获取用户输入并决定是否继续操作

cmdline="kill -9 $pidList"echo $cmdlineread -r -p "Are You Sure? [Y/n] " iskillcase $iskill in [yY][eE][sS]|[yY]) echo "Yes" $cmdline ;; [nN][oO]|[nN]) echo "No" ;; *) echo "Invalid input..." exit 1 ;;esacexit 0...

2020-10-16 10:53:00

原创 shell获取本机ip

/sbin/ifconfig -a |grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|head -1

2020-10-16 10:50:11 7

原创 mysql动态拼接sql中包含单引号的替换

select replace("'${p_date}'",'','''')两个单引号''表示一个单引号,所以只要将一个单引号替换成两个单引号即可

2020-10-15 14:00:43 13

原创 shell通过sshpass远程ssh执行命令

#先安装sshpassyum install sshpass#执行sshpass -p yourpassword ssh root@192.1.1.118 "ls"基本用法:sshpass -p [密码] ssh [user]@[host]

2020-10-13 17:07:43 19

原创 ETL设置变量中变量范围的设置说明

ETL设置变量中变量范围的设置说明变量类型的作用域范围“设置变量”插件中的“变量类型”有四个选项对应着四个不同的作用域范围"s"ystem, "r"oot, "g"randparent, "p"arent。 变量类型选项 作用域 作用域范围说明 在Java虚拟机中(Java Virtual Machine) S系统级 凡是在一个java虚拟机下运行的线程都受其影响。 .

2020-10-13 13:51:08 20

原创 mysql并发死锁问题解决

一般根据多条件过滤后更新update在高并发的时候会导致死锁,进而事务失败。这是因为mysql行级锁并不是直接锁记录,而是锁索引,如果一条SQL语句用到了主键索引,mysql会锁住主键索引;如果一条语句操作了非主键索引,mysql会先锁住非主键索引,再锁定主键索引。参考:https://blog.csdn.net/guanfengliang1988/article/details/80356648https://blog.csdn.net/usst_lidawe...

2020-09-23 22:18:47 29

原创 静态代码块无法对静态变量赋值的原因

遇到一个静态代码块对静态变量赋值,居然无效。就像下面的代码,看到输出的还是默认值,内心是崩溃的。public class StaticLoad{ static { i=666; } static int i=1;// static {// i=1;// } public static void main(String[] args) { System.out.println(StaticLoad.i); }}突然想到这个不会和加载顺序有关吧,把赋值代码块移动到

2020-09-02 21:45:30 93

原创 如何查看JVM内存中的对象和执行中的方法

本机debugger就好了,远程的可以远程debugger,内网生产无法远程debugger的怎么办?使用jmap和jstack将堆内存(对象)和栈(方法)输出为文件进行查看。pid:是jvm进程号,可以使用jps -ml或ps命令查看到jvm内存对象统计:jmap -histo:live pidjvm内存对象查看:先将内存导出为文件: jmap -dump:format=b,file=dump.hprof pid然后使用mat工具打开查看里面有多个统计...

2020-09-01 12:58:58 103

原创 小白:编程工作怎么样?

自我感觉,在底层的编程工作类似于工地小工,就是搬砖码农。目前编程工作的工作环境大部分是加班多,工作时间长,睡眠不足,工作强度大,内容单一。表面上好像高薪,实际上对于人的健康,人的编程以外的思维和见识增长都有一定的伤害。所以,除非是有兴趣,否则长时间枯燥单一的工作会让你十分痛苦进而疯掉,没兴趣,仅仅因为“高薪”而选择编程的人,估计根本坚持不了多久,而且是心理先于身体就崩了。有兴趣才能不觉得枯燥,沉浸其中,虚拟世界创造的快乐是一种上帝的感觉,让一套机制运转起来并给人们带来帮助还是有自豪感的。总结: 想做

2020-08-25 04:34:25 149

原创 Could not write JSON: (was java.lang.NullPointerException);

实体类数据类型与封装值不匹配!实体类Bean中增加的属性未增加get/set方法

2020-07-29 15:39:41 148

原创 java时间格式化yyyy

YYYY 为 ISO 周日历,如果周跨年,则该周仍然算是上一年yyyy 为格里历(公历)平时应该使用yyyy

2020-07-20 14:40:50 47

原创 使用静态容器防止并发修改同一对象

/** * 同时保存一个对象,需要有一个等待或退出 */ public static final long SAVE_OBJ_ERROR_CODE_WAIT = -9L; /** * 保存正在保存的对象Id,保存完成后remove,如果保存前发现有相同Id的对象在该map中则说明上一次保存还未结束或有其他人正在修改同一对象,需要等待其完成后才继续操作 */ private static final Map idMap = new ConcurrentHashMap();...

2020-07-11 03:37:58 59

原创 lettuce-core连接redis集群示例代码

package com.iteye.yuanyuan7891.lettuce;import java.text.MessageFormat;import java.util.ArrayList;import java.util.Map;import io.lettuce.core.RedisURI;import io.lettuce.core.cluster.ClusterClientOptions;import io.lettuce.core.cluster.RedisClusterCl.

2020-07-08 16:08:52 207

原创 mysql数据库连接空闲超时设置不生效,未区分全局变量及interactive_timeout设置

为了测试数据库超时(默认8小时),需要修改数据库超时时间。但是设置之后发现并没有改变,有两个原因:第一个就是未区分全局变量和会话变量,设置和查询时带上global查询的是全局变量。第二个是因为超时时间是interactive_timeout和wait_timeout共同决定的,需要同时修改interactive_timeoutshow VARIABLES like '%timeout%' ;set global interactive_timeout=57600;set global .

2020-07-08 00:05:54 168

原创 查看并杀死defunct僵尸进程

defunct进程如何直接kill掉;只要杀死它的父进程,defunct进程就自动消失了.查看defunct进程ps -e -o ppid,stat | grep Z | cut -d " " -f1杀死ps -e -o ppid,stat | grep Z | cut -d " " -f1| xargs kill -9

2020-07-06 17:31:36 163

原创 存储过程未rollback导致锁表

整个系统业务阻塞,最后居然是因为一个简单的存储过程导致锁表.DROP PROCEDURE IF EXISTS P_COUNT;CREATE PROCEDURE P_COUNT(OUT o_ret VARCHAR(50))BEGIN DECLARE EXIT HANDLER FOR SQLEXCEPTION SET o_retsult=-1; START TRANSACTION; update tb_count set val= val+ 1; COMMIT;END解决:异

2020-06-28 12:13:21 114

原创 svn打分支与分支合并回主干

从当前主线copy一份和主线一样的代码仓,在不影响主线功能的前提下,开发新功能。Copy出来的新代码仓即为分支Branch,原代码仓即为主线Trunk。新功能开发完后,需再手动由分支合并(merge)到主线。一、svn建立分支(Branch)选中原工程目录,选择SVN ->Branch/tagTopath选到Trunk平级的branches下,没有就自己建个branches目录但是要和trunk平级不能嵌套。创建成功后,切换到刚才的branches目录可以看到分支,check...

2020-06-18 12:29:54 57

原创 清理历史数据

清理历史数据,大表删除非常的慢;想用truncate,但是又要保留近期数据.所以就想先把近期数据保存到其他表里,truncate之后再insert回来.create table r_log_temp_month3 as select * from r_log where LOGDATE<DATE_SUB(CURDATE(), INTERVAL 3 MONTH); ;truncate table r_log;insert into r_log select * from r_log_temp

2020-06-17 17:52:12 60

原创 JVM运行时内存概念-堆栈及新生代、老年代、持久代

JVM内存有一些按不同标准划分的概念,这里来理清一下。一、首先java虚拟机规范定义了java运行时数据区在概念上应该有的分区,这是抽象概念不对应也不限制物理上的具体实现,不同的虚拟机可以有不同的实现,但是在抽象上必须要有这些区。二、说完了逻辑概念,再说虚拟机实现,在实现虚拟机的时候,考虑垃圾回收效率,将JVM内存划分为三块:元数据区,老年代,新生代;注意这里的分代概念和运行时数据区是两个不同层次和标准的概念,是两套概念。使用jvisualvm.exe安装Visual GC插件后可以查看

2020-06-17 12:48:57 97

原创 无法执行任何java命令,报错OutOfMemoryError: Cannot create GC thread. Out of system resources

生产程序功能不执行了,远程定位时发现无法使用jps,jstack甚至java -version命令,所有的java命令都无法执行,报错为无法创建线程.$jps -mlError occurred during initialization of VMCannot create VM thread. Out of system resources.查看程序日志发现有unable to create new native thread类似无法创建线程的报错内存及CPU空闲较多,资源充足排除内存不..

2020-06-16 13:50:39 283

原创 代码质量

代码质量 意义 灵活 易读 易维护 功能拓展 以平时持续的较小代价,降低了后期的开发维护成本 代码质量 编码标准 CheckStyle 代码重复 PMD CPD 帮助发现代码重复 代码覆盖率 Coverlipse ...

2020-05-27 12:13:40 52

原创 JDBC未设置socket超时导致应用程序的线程池阻塞

应用阻塞,查看堆栈https://www.jianshu.com/p/2deaf51bf715

2020-05-15 07:52:59 125

原创 kettle的命名参数接口NamedParams实现与Job命名参数的传递和使用实现

kettle执行Job流程时可以设置命名参数(Parameters)。命名参数的接口为NamedParams,其默认实现为NamedParamsDefault类,Job类实现该接口,并委托NamedParamsDefault实现具体方法。命名参数接口NamedParams的实现类:默认实现类NamedParamsDefault:默认实现类NamedParamsDefault...

2020-04-27 06:02:59 213

原创 kettle的变量空间接口VariableSpace实现与委托模式

kettle中很多对象有变量,这些对象都实现了变量空间VariableSpace是接口,Variables是其基本实现类。 其他实现类委托Variables的实现。看下Variables的实现:Variables内部有个Map<String, String>类型的properties属性,其实例是线程安全的ConcurrentHashMap对象,用来保存变量(字符串键值对)...

2020-04-16 18:32:42 183

原创 quartz的负载均衡

两台机器分别启动quartz设置成集群,配置相同。定义了20秒一次调度和60秒一次调度两个间隔时间调度。每20秒调度,每60秒调度

2020-04-09 23:31:34 228

原创 tomcat启动时SecureRandom耗时

新部署tomcat发现启动时SecureRandom实例化耗时98秒,机器性能没问题。网上搜索了下是安全随机数生成的问题。解决办法有两个:方法1. 修改tomcat的bin下的catalina.sh文件加入-Djava.security.egd=file:/dev/./urandom方法2. 配置jdk路径下的java.security$JAVA_PATH/jre/lib/...

2020-04-01 16:38:58 62

原创 Prepared statement needs to be re-prepare

sql抛出 Prepared statement needs to be re-prepared 异常SHOW VARIABLES LIKE '%table_open_cache%';SHOW VARIABLES LIKE '%table_definition_cache%';SET GLOBAL table_open_cache=16384;SET GLOBAL table_d...

2020-03-27 14:22:19 68

原创 C3p0错误(No suitable driver)

居然是配置文件的驱动名写错了!

2020-03-27 09:24:42 154

原创 mysql数据库乱码检查项

查询结果乱码时检查如下项目字符集编码 MySQL客户端工具中 查询 SHOW VARIABLES LIKE 'character%'; 修改 SET NAMES 'utf8'; 相当于下面的三句指令 SET character_set_client = utf8; SET character_set_results = utf8;...

2020-03-25 17:30:05 58

原创 mysql密码正确却提示错误,不使用密码反而能登录

部署应用启动时报错密码不正确,把密码设置为空反而能正常连接数据库。select * from mysql.user查看数据库的用户和密码发现localhost用户的密码为空。原来是因为应用和mysql数据库在同一台机器上,mysql就使用的本地localhost用户来验证密码的。...

2020-03-24 08:56:35 57

原创 Linux系统内存还有剩余就开始使用swap交换区了

程序运行缓慢,查看内存剩余的时候发现Linux系统内存还有60G剩余就开始使用swap交换区了。系统把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这个swap交换区就是硬盘的一块区域。...

2020-03-20 06:46:07 746

原创 java远程执行命令报错java.io.IOException: Cannot run program “ifconfig“: error=2, No such file or directory

直接执行ifconfig没问题,但是在java代码里远程执行ifconfig就找不到命令。session = conn.openSession();session.execCommand(cmd);// Cannot run program "ifconfig": error=2, No such file or directory解决办法:在 用户的 home 目录下的 文件...

2020-03-16 10:26:02 906

原创 火狐浏览器jtopo节点切换tab后消失报错NS_ERROR_FAILURE的解决

火狐浏览器切换tab后流程节点消失,js报错NS_ERROR_FAILURE,网上查询该错误为元素隐藏后火狐相关的api调用会抛异常,只要先判断下元素的display属性是否为none,为none就不要调用即可,报错原理参考https://www.cnblogs.com/jaxu/p/4193456.html这里讲怎么解决。切换tab后画布隐藏display属性为none或空,jtopo绘制t...

2020-03-10 09:39:40 198

原创 Eclipse“ctrl+左键”链到实现类

Eclipse下,“ctrl+左键”链到实现类window-->preferences-- >General-->Editors-->Text Editors-->hyperlink.Default modifier key 可以统一设置快捷键,然后可以单选一项在下面设置特殊的快捷键.可以把Open Declared Type和Open Impleme...

2020-01-15 15:48:04 99

原创 Shell组件的返回码,0为成功,其他为失败.

Shell的返回码Shell每一行脚本都有执行返回码,返回码0为成功,其他为失败.Shell脚本的返回码0为成功,其他为失败。可使用exit命令来设置返回码。函数可使用return设置可使用echo $? 来查看。...

2019-12-06 15:30:58 123

原创 缓存问题

缓存缓存对于大型系统的性能是十分重要的。可以解决一些痛点问题:查询比较耗时并且比较频繁的数据,缓存起来可以减少数据库的压力,提高响应速度。但是缓存也有问题,缓存不是即时查询结果就牺牲了强一致性和时效性,为此缓存要进行有策略的更新和失效,这是一种妥协平衡,而且使得操作变得复杂。常见问题 问题一、缓存穿透 一直访问一个数据库不存在的数据,导致查询缓存和数据库造成性能问题 解决 ...

2019-11-21 11:46:35 51

原创 缓存简单实现

时间和次数触发更新;有缓存雪崩的情况,更新有更新锁,还是有点并发问题,不适用于高并发,不严谨,简单实现. /** * 有一个更新就可以了,不要都更新 <br/> * 切记:获取锁后在finally里释放该锁!!!否则将导致无法获取到锁来更新缓存。<br/> * eg:<br/> * if(refreshLoc...

2019-11-20 17:26:45 54

原创 jvisualvm离线安装visualgc插件

离线下载地址https://visualvm.github.io/pluginscenters.html根据你jdk的版本选择对应的插件,我的1.8下载地址https://visualvm.github.io/archive/uc/8u20/updates.html工具-->插件-->已下载-->添加插件选中下载的离线插件包,安装完成...

2019-10-29 16:43:48 294

原创 用户线程和守护线程(服务线程)

package com.iteye.yuanyuan7891.thread.DaemonTest;import java.lang.management.GarbageCollectorMXBean;import java.lang.management.LockInfo;import java.lang.management.ManagementFactory;import java...

2019-10-28 10:03:53 65

arthas3.4-bin.zip|arthas-bin.zip

java性能定位工具,Java -jar arthas-boot.jar启动后选择需要定位的进程序号,然后 最消耗cpu的线程 thread -n 3 收集 5 秒, 然后输出 top 5 的 CPU 消耗的线程 thread -n 5 -i 5000 trace 命令查看方法内各调用耗时 下载地址https://github.com/alibaba/arthas/releases/download/arthas-all-3.4.3/arthas-bin.zip

2020-10-14

myBase_Desktop55150定制版_setup.rar

好用的分级文本管理工具,有检索和导出功能。

2014-06-18

java反编译工具及eclipse插件

内含: 1.将class文件反编译为java文件的工具jad.exe 2.eclipse的反编译插件net.sf.jadclipse_3.3.0.jar(方便查看源代码) 插件安装方法:   1、下载eclipse插件:jadclipse_3.1.0.jarhttp://jadclipse.sourceforge.net/   2、 下载Jad反编译工具:jad.exehttp://www.kpdus.com/jad.html#download   3、将jad反编译工具jad.exe放到jdk安装路径的bin目录下面,jadclipse_3.1.0.jar放到eclipse的安装目录下的plugins目录下。   4、启动eclipse,打开:Window->Preferences->Java->JadClipse.   Path to decompiler,这里设置反编译工具jad的全路径名,就是第三部jad.exe的路径。   5、 安装完成后,eclipse自动将JadClipse Class File Viewer设置成class文件的缺省打开方式。如果没有默认,可以在Eclipse的Windows——> Perference——>General->Editors->File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。设置完成后,双击*.class文件,eclipse将自动反编译。   注意:jadclipse_3.1.0.jar的版本与eclipse的platform版本号相关

2013-02-16

NFS服务安装与配置方案

NFS服务安装与配置方案: 介绍了如何安装nfs服务,配置nfs服务器的访问权限,及nfs客户端如何挂载服务器共享目录。 --------------------------------------------------------- nfs服务端root权限安装并启动nfs服务器(需要先安装并启动portmap服务)及编辑/etc/exports配置nfs访问权限.192.168.192.128:/nfs_share(rw,sync) nfs客户端挂载共享目录在本地目录(注意关闭防火墙哦): mount -t nfs 192.168.198.129:/nfs_share /mnt/nfs 之后便可以把服务的共享目录作为本地目录使用了!

2013-01-25

highcharts说明书

highcharts是纯js的图表工具,只需要将数据保存到data数组中即可(需要注意json对象的区别,不然不识别)。附件中有示例代码和说明书,开始自学highcharts吧。

2012-08-29

java环境变量配置

java环境变量在window系统下的配置

2012-05-15

20cn mini ftp

ftp共享工具,20CN MINI FTPD很小的个头,很绿色。有需要时打开,不需要的时候关闭,当然也可以选择适当的目录,永久性的共享给你的朋友。把用户名和密码告诉你的朋友,他们就可以随时来下载你分享给他们的东西了。

2012-05-14

虚拟机 天隆VM7.13中文版

天隆VM7.13中文版,无需注册码。弱弱的提示下:安装虚拟机后,可在虚拟机上安装虚拟机的操作系统。

2012-05-09

java工程师15本必读书籍推荐

一、Java编程入门类   对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。 1、《Java编程思想》 下载地址:http://www.shangxueba.com/share/p2446196.html   在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。 2、《Agile Java》中文版 下载地址:http://www.shangxueba.com/share/p2564807.html   这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。   虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点,我自己也准备有空的时候翻翻这本书,学习学习。 二、Java编程进阶类   打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。 1、《重构 改善既有代码的设计》 下载地址:http://www.shangxueba.com/share/p1838195.html   这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。 2、《测试驱动开发 by Example》 下载地址:http://www.shangxueba.com/share/p2564819.html   本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。 三、Java架构师之路   到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。 1、《Expert One-on-One J2EE Design and Development》 下载地址:http://www.shangxueba.com/share/p2564816.html   这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 2、《Expert One-on-One J2EE Development without EJB》 下载地址:http://www.shangxueba.com/share/p2564818.html   这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。   以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。在所推荐的这些书籍当中,是看过的最仔细,最认真的书,当时读这本书几乎是废寝忘食的一气读完的,有小时候挑灯夜读金庸武侠小说的劲头,书中所讲内容和自己的经验知识一一印证,又被无比精辟的总结出来,读完这本书以后,有种被打通经脉,功力爆增的感觉。   但是后来看过一些其他人的评价,似乎阅读体验并没有那么high,也许是因为每个人的知识积累和经验不同导致的。那个时候刚好是经验知识积累已经足够丰富,但是还没有系统的整理成型,让这本书一梳理,立刻形成完整的知识体系了。 3、《企业应用架构模式》 下载地址:http://www.shangxueba.com/share/p1838194.html   Martin的又一本名著,但这本书只是泛泛的看了一遍,并没有仔细看。这本书似乎更适合做框架的人去看,例如如果打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,还是推荐认真看看,会让知道框架为什么要这样设计,这样的层次可以晋升到框架设计者的角度去思考问题。Martin的书向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。 4、《敏捷软件开发原则、模式与实践》 下载地址:http://www.shangxueba.com/share/p56689.html   Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。 四、软件开发过程   了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。 1、《UML精粹》 下载地址:http://www.shangxueba.com/share/p2564824.html   UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。 2、《解析极限编程 拥抱变化》XP 下载地址:http://www.shangxueba.com/share/p2564834.html   这是Kent Beck名著的第二版,中英文对照。没什么好说的,必读书籍。 3、《统一软件开发过程》UP 下载地址:http://www.shangxueba.com/share/p2564837.html   其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得去读,毕竟在中国真正接受敏捷的企业很少,还是需要用UP来武装一下自己的,哪怕是披着UP的XP。 4、《敏捷建模》AM 下载地址:http://www.shangxueba.com/share/p2564838.html   Scott Ambler的名著,这本书非常的progmatic,告诉怎么既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么也可以去写书了。 五、软件项目管理   如果突然被领导提拔为项目经理,而完全没有项目管理经验,肯定会心里没底;如果觉得自己管理项目不善,很想改善项目管理能力,那么去考PMP肯定是远水不解近渴的。 1、《快速软件开发》 下载地址:http://www.shangxueba.com/share/p2564839.html   这也是一本名著。可以这样说,有本书在手,就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,只需要稍加变通,找方抓药就行了。 六、总结   在这份推荐阅读书籍的名单中,没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Spring之类,也没有列举AJAX方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得去购买和收藏。

2012-04-23

JScript 用户指南 chm

JScript用户指南chm文件:js基础,高级js,js语言特性(js错误、函数、方法、对象),FileSystemObject 用户指南,Scripting 运行时库参考,正则表达式简介。 是学习js和使用js的工具全书。

2012-04-23

Expert One-on-One J2EE Design and Development.pdf

《Expert One-on-One J2EE Design and Development》   这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 应用软件整体架构的把握,是迈向架构师的第一步。

2012-01-17

重构改善现有代码的设计

重构改善现有代码的设计.pdf 2003年第一版。《重构 改善既有代码的设计》可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。

2012-01-17

计算机软件文档编制规范.ppt

计算机软件文档编制规范.ppt 共244页

2012-01-17

软件项目开发文档(全)

内含: 立项申请表.doc 产品规格书.doc 测试分析总结报告.doc 用户需求书.doc 用户需求变动书.doc 系统测试报告.doc 系统测试项目单.doc 设计方案评审报告.doc 软件开发任务书.doc 软件测试总结报告.doc 软件测试统计表.doc 软件测试计划.doc 软件需求说明书.doc 项目结项报告.doc 项目计划书.doc 项目设计方案.doc 项目进度表.doc 顾客需求确认表.doc 顾客验收报告.doc

2012-01-17

Linux常用命令全集.CHM

中国IT实验室整理约300多条liunx常用命令集

2012-01-13

java反编译软件jd jad

jd-gui-0.3.3.windows java反编译软件,免费。

2011-12-14

java设计模式电子书(含示例代码)

java设计模式的学习资料整理(含代码可直接导入eclipse)。本人在eclipse下自学设计模式过程中整理的资料,一个eclipse的工程下面分包写了java设计模式的示例代码,每个包是一个设计模式的代码。webcontent文件夹下放有两本java设计模式的电子书(doc和pdf)。

2011-10-17

java入门教程 网页格式带习题

网页格式的java入门教程。结构紧凑界面简洁优美、内容丰富。点击index文件进入教程。

2010-12-16

Hibernate api

Hibernate api Hibernate的api文档

2010-08-13

cpdetector_1.0.7_binary的jar包

可以用程序判断文件的字符编码,下面的网站有介绍具体代码: http://blog.csdn.net/justinavril/archive/2008/08/07/2783266.aspx 本jar包可以自己到下面的官网下载,不过要自己注册账号: https://sourceforge.net/projects/cpdetector/files/cpdetector/binaries/cpdetector_1.0.7_binary.zip/download

2010-05-27

生成验证码的项目源码

生成验证码的源代码。由servlet生成验证码和验证码图片。 能够产生验证码但是如何传输和验证呢,一般是传回服务器在action里做验证。 我还是喜欢js页面产生验证码,因为简单,虽然效果差了点。所以也附带了个js生成验证码的例子。

2010-05-08

photoshop切片使用教程

photoshop切片使用教程(含截图) 在这里我们使用的PS的版本是CS3 以前的版本与此相差无几,但注意不能使用迷你安装版,必须是完整安装。 一 打开你设计好的PS图,选择切片工具 二  按网页的结构和图片的特点进行切片 切片的大水上和位置可以通过切片选项来进行调整   三 选择文件菜单 另存为WEB格式命令,保存时会生成index.html 图片文件会存放在images文件夹中(CS3要选择存储为html和图片)   四 使用Dreamweaver软件打开刚刚保存生成的html文件进行编辑,删除不必须的图片和进行内容的填充。

2010-04-09

Oracle知识库及习题集

Oracle知识库及习题集:包括Oracle知识库及Oracle考试复习的习题集。Oracle相关的联系。

2010-04-08

MySQL_错误代码以及出错信息对照大全

MySQL_错误代码以及出错信息对照: 0101 属于其他进程的专用标志。 0102 标志已经设置,无法关闭。 0103 无法再次设置该标志。 0104 中断时无法请求专用标志。 0105 此标志先前的所有权已终止。 0106 请将软盘插入驱动器 %1。 0107 后续软盘尚未插入,程序停止。 0108 磁盘正在使用或已由其他进程锁定。 0109 管道已经结束。 0110 系统无法打开指定的设备或文件。 0111 文件名太长。 0112 磁盘空间不足。 0113 没有其他可用的内部文件标识符。 0114 目标内部文件标识符不正确。 0117 该应用程序所运行的 IOCTL 调用不正确。 0118 校验写入的开关参数值不正确。 0119 系统不支持所请求的命令。 0120 该系统上不支持此功能。 0121 标记已超时。 0123 文件名、目录名或卷标语法错误。 0124 系统调用层不正确。 0125 磁盘没有卷标。 0126 找不到指定的模块。 0127 找不到指定的过程。 0128 没有要等候的子进程。 0129 模式下运行。 0130 试图使用操作(而非原始磁盘I/O)的已打开磁盘分区的文件句柄。 0131 试图将文件指针移至文件开头之前。 0132 无法在指定的设备或文件中设置文件指针。 0133 对于包含已连接驱动器的驱动器,不能使用 JOIN 或 SUBST 命令。 0134 试图在已经连接的驱动器上使用 JOIN 或 SUBST 命令。 0135 试图在已经替换的驱动器上使用 JOIN 或 SUBST 命令。 0136 系统试图删除尚未连接的驱动器的 JOIN。 0137 系统试图删除尚未替换的驱动器的替换项。 0138 系统试图将驱动器连接到已连接的驱动器下的目录。 ... ...

2010-04-02

W3Cschool chm 学习手册

W3Cschool.chm 学习手册包含: HTML 4.01 XHTML 1.0 HTML 5 CSS 2.0 JavaScript VBScript HTML DOM XML DOM ASP ADO ASP.NET PHP 5.1 XSLT 1.0 XPath 2.0 XSL-FO WML 1.1 HTML 颜色

2010-04-01

Struts清晰版pdf电子书

学习《精通Struts:基于MVC 的Java Web 设计与开发》笔记 本文档仅为网友提供Java Web 开发技术学习交流,大部分内容来自孙卫琴编著的《精通Struts:基于MVC的Java Web设计与开发》一书,严禁将本档用于商业盈利,或用于任何其他形式的盈利,本人不承担任何责任以及联带责任。 本文档中出现任何的错误,请以原书描述为准,有意者请购买正版。 孙卫琴系统书籍官方发行网站地址:http://www.javathinker.org/index.jsp 本文档编写者blog 地 址:http://blog.csdn.net/yuanfen127

2010-04-01

IT学生解惑真经PDF

这是一部写给在校计算机专业学生的书 如果没有看到这本书 你可能会茫然无措的度过学习阶段

2010-03-30

MyEclipse_6_Java_EE_开发中文手册

MyEclipse_6_Java_EE_开发中文手册()

2010-03-08

html语言简明教程电子书

简明html电子书教程,查询方便,源代码和效果可以同时看到,容易理解和学习。最适合初学者学习练习和查询。

2010-03-08

java学习的最精要笔记

Java的最最简要的知识点。适于初学者快速了解Java全貌,和作为学习的纲要和代码编写的依据。短小精悍!

2010-02-24

Access.zip

生成二维码的java项目源码,其中servlet可支持在线二维码生成。支持生成在二维码中间包含自定义图片的二维码。

2020-08-08

data-integration.part3.rar

kettle9.0官网下载地址https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip 文件较大1.5G,所以切分为3个包。

2020-04-27

data-integration.part2.rar

kettle9.0官网下载地址https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip 文件较大1.5G,所以切分为3个包。

2020-04-27

data-integration.part1.rar

kettle9.0官网下载地址https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip 文件较大1.5G,所以切分为3个包。

2020-04-27

mysql-5.7.29-winx64.zip

mysql-5.7.29-winx64.zip mysql5.7版本数据库安装文件 下载地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-winx64.zip

2020-01-14

dexpot_1613_r2429.exe

win7多桌面软件Dexpot,官网下载,下载地址https://dexpot.en.softonic.com/

2019-09-23

cache-api-1.0.0.jar

cache-api-1.0.0.jar JSR107FinalSpecification ,缓存规范

2019-09-05

代码整洁之道读书笔记.zip

个人读书笔记,学习共享,希望每个苦恼于代码一坨坨混乱不堪的程序员都能学习. * 整洁代码的意义? 可读性,可维护性。 * 如何写出整洁代码? 1.只做一件事 2.不重复 3.有表达力 * 整洁代码的态度要求,要遵守的军规? 专业 和责任。让营地比你来时更干净,拒绝破窗效应。 * 写出整洁代码的具体做法? 有意义的命名(表达力,可读性) 函数只做一件事,每个函数一个抽象层级,短小不重复。 注释是代码缺乏表达力时的弥补措施,好的代码自我注释。 格式要统一,有层次,易理解。 类,权责对应,内聚,只做一件事。得墨忒耳定律:模块不应该了解所操作的类的内部情况。 对象方便增加子类,数据结构方便增加新操作方法。 错误处理应该独立于主逻辑之外。 迭代、 逐步改进、重构。

2019-08-21

jdk-12.0.2_linux-x64_bin.tar.gz官网下载

jdk-12.0.2_linux-x64_bin.tar.gz linux系统64位JDK12安装包

2019-07-30

java多线程安全性基础介绍.pptx

java多线程安全性基础介绍 线程安全 正确性 什么是线程安全性 原子性 竞态条件 i++ 读i ++ 值写回i 可见性 JMM 由于cpu和内存加载速度的差距,在两者之间增加了多级缓存导致,内存并不能直接对cpu可见。 各线程之间变量不可见,线程通信通过共享主内存实现。 volatile 仅保证可见性 作用 不会被缓存在寄存器或其他对cpu不可见的地方 强制其他线程读主内存 编译器和运行时不会讲该变量的操作与其他内存操作一起重排序 锁不仅保证原子性还保证可见性 有序性 多个线程操作共享对象导致的状态不一致问题 原因 共享资源的竞态条件问题 问题 竞态条件 指令重排序 工作内存中主内存同步延迟 解决 要有安全策略文档或注释 不共享 线程封闭 仅在单线程内访问数据 栈封闭 局部变量 threadLocal 为每个线程保存一个副本 类似于一个以线程id为key的map 不可变对象状态 final 关键共享资源上互斥,变并发为串行即同步 锁 分类 显示锁 Lock Lock是个接口 实现类 ReentrantLock 可重入锁 ReentrantReadWriteLock.ReadLock ReentrantReadWriteLock.WriteLock 隐式锁(内置锁) Synchronized 问题 死锁 性能 线程活跃与线程饥饿 同步工具类 原子操作类 AtomicInteger等 相当于加上synchronized 也有些利用硬件底层能力CAS

2019-07-25

shy_snow的留言板

发表于 2020-01-02 最后回复 2020-01-02

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