- 博客(61)
- 资源 (9)
- 收藏
- 关注

原创 Cxf 复杂数据类型(Map)
cxf本身不支持复杂数据类型。需要提供一个转换类。 服务接口@WebServicepublic interface IHelloService { @WebMethod String sayHello(String name); @WebResult(name="listPerson") List getPersionByName(@We
2012-07-31 19:38:18
5871
原创 线程池问题记录
场景1 : 一个线程池 核心线程数 0 ,队列100,最大线程数10, 运行过程中发现部门任务运行,部分不运行,原因: 线程池的执行流程: 任务提交核心线程数执行任务;继续来任务放入队列,队列满了,创建新线程(线程数< 最大线程数),然后才是拒绝策略。场景2: 一个线程池 核心线程数2,最大队列10000,最大线程数16,拒绝策略 new 新的临时线程处理;现象 提交的任务时而运行时而不运行。 定位发现一个问题: 任务执行时间长这种概率越高;原因:任务执行时间长,在队列中排...
2021-12-04 16:25:59
499
原创 String 与 StringBuffer的去呗
很多同学在面试过程中,肯定都遇到过这个问题。大多数同学的答案是这样的: String 不可变,StringBuffer可变;字符串相加使用StringBuffer,性能更好,使用String出产生新对象。 我不能说答案不正确,正确,没错;但是这样的答案只能中规中矩,我相信有点
2017-03-08 21:10:47
288
原创 读书摘要
引用:在堆载中初始化 类:抽象 实例、对象:类的具体,在堆上初始化 组合 : 明确的对象个数,用实心菱形表示 聚合:不明确对象的个数,用空心菱形表示 常量: 代码区 switch : int , char , 枚举 构造器无返回值,与方法void返回值不一样;构造方法与类名相同,大写(与通常的方法命名格式不一样); 方法返
2017-02-19 15:41:31
364
原创 开遍之语
工作面临转型,很彷徨,不知道未来的职业规划。一边希望能够转型拓展自己的视野,打开职业上升的通道;一边担心把技术丢了,再也回不来了。为了让自己相对安心点,决定温习,夯实基础,给自己留个退路。也许有人会说你这种人缺少魄力。 不管怎样,只求让自己能够心安点吧。
2017-02-19 15:20:08
219
原创 .profile与 .bashrc
Linux 操作系统有几个文件我们经常涉及到,但是一直却很模糊不知道区别 .profile(有的系统是.brash_profile) 和.brashrc /etc/.profile 设置系统环境变量 用户目录下的.profile 是用户的环境变量 /etc/.brash 是设置系统登录时需要运行的函数和设置别名
2014-12-21 11:36:59
1274
原创 设计模式之命令模式
我自己感觉命令模式是最难理解的设计模式之一。 个人理解不到位,但对命令模式中把请求放在队列排队的形式感触还是很深,平常很多工作场景会用到这种形式,但自己写的可能是命令模式的退化形式。 不多说,个人理解不是很好,说了是误解大家。 类图: 个人一直不是很理解,为什么要Invoker的存在? 或许从 解耦和开闭原则上可以说一点,新增一个请求命令,只
2014-01-08 20:14:29
531
原创 linux 非用户参与修改密码
在工作中我们常遇到使用脚本创建用户(如安装ORACLE数据库),需要创建oracle用户。重复创建用户让我们很烦恼,所以我们想到了使用脚本,但是创建用户,设置密码是一个交互的过程。怎么办呢? 毫无疑问 :管道方法1:echo "password" | passwd --stdin username注意:在ubuntu中不支持passwd 不支持 --stdin参数
2014-01-05 16:21:28
749
原创 设计模式之观察者模式
观察者模式,另一个动听的名字:发布订阅模式。 它是我们使用的比较多的模式之一。 核心思想:其一发而动全身,以静制动。 即目标的变化,带动观察者的变化 生活中常说到:主动推送,拉即是观察者模式的俩种形态。 类图: JDK中已经实现了该模式,大家使用的时候可以直接使用 java.util.Obse
2014-01-05 12:23:07
573
原创 设计模式之代理模式
代理模式分为静态代理和动态代理俩种。 静态代理: 动态代理:看JDK 的实现 关注: 代理模式与门面模式,适配器模式,装饰器模式的区别
2014-01-04 11:27:44
596
原创 设计模式之中介者模式
坚持做一件事太难,总是太浮躁。好了,今天又开始说我们的设计模式了。中介者模式 : 调停者模式想想房东和租客的关系。想想房东有房屋出租,到处贴小广告;租客则到处找小广告,记录联系方式,一个个联系,看房。是不是很繁琐。所以有经商头脑的人就想出了房屋中介,房东和租客都可以只和中介打交道,就得到了房子的所有信息。中介模式其实就是这样一种运营模式,看类图:
2013-12-23 21:41:17
562
原创 设计模式之原型模式
提到原型模式,很好理解就是根据已有的对象,创建出一个属性值相同的对象出来。所以其也属于创建型模式。原型模式:拷贝,所以不得不提,深拷贝和浅拷贝浅拷贝:只负责克隆按值传递的属性。深拷贝:既需要克隆按值传递的属性,也需要克隆应用类型的数据,如果实例属性还有其他对象也需要递归克隆。 克隆模式实现别忘了有一种通过对象流的实现方式
2013-11-23 21:58:36
595
原创 设计模式之抽象工厂方法
抽象工厂强调的是产品之间存在关联关系。client为了得到一个产品系统,不需要知道去了解产品之间的关联关系,只需拿到一个工厂对象,使用其创建对象即可。 如果产品之间的关系有了新增,只需新增一个工厂就OK。
2013-11-03 21:42:43
529
原创 设计模式之工厂方法
这俩周一直在加班,把自己的诺言丢到九霄去了,惭愧。今天主要是说说另一个创建型模式:工厂方法 类图: 从类图大家首先想到什么? 开闭原则:没错,工厂方法是遵守开闭原则的一个典范。 事务不总是尽善尽美的,那工厂方法会遇到什么问题呢? 类爆炸,让系统更显得复杂。使用时自己权衡。
2013-11-02 18:27:21
605
转载 top命令学习笔记
top命令执行效果图: 前5行:是系统当前运行情况的概括。第一行:12:38:33当前时间,date命令up 50days系统运行时间(运行多久了),格式为时:分 1 user当前登录用户数load average: 0.06, 0.60, 0.48
2013-10-20 20:33:14
749
原创 设计模式之适配器模式
场景:新买了一台notebook,发现电源插座是3孔插头,而家里都是2孔插座,聪明的你一定想到新买个排查来连接。 nice,新买的排查就是典型的适配器。 不多说我们直接看类图:
2013-10-20 16:23:37
608
原创 设计模式之外观模式
外观模式,别名门面模式 使用门面和不使用门面对比: 其他的不解释,希望大家能自己去学习UML,看懂了图,其他的解释都是多余的。 门面模式是迪米特法则的最好体现。大家在头脑里先形成各种模式的影响,有一天你遇到问题了,可能会发现这不是使用某某模式,让程序、模块,子系统更好解耦吗,也许前几次使用并不一定是想象的那样,但是通过多次使用,自己慢慢总结。
2013-10-13 21:50:09
587
原创 xml schema 初步
dtd固然有其进步之处,但还是存在其局限性。随着计算机技术的发展,一种新的xml验证机制随之诞生-----xml schemal,它解决了dtd许多不如人意的地方。 如: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.person.skydre
2013-10-08 21:08:33
544
原创 xml格式之DTD闲扯
作为一个码工,你越来越意识到xml伴随在你左右。而随之而来的合法性验证却成了码奴们枯燥的重复性工作。而xml格式校验可以把非业务相关的检验代码抽离成工具类,成为自己码工工具箱的一部分。xml格式校验有DTD和schemal俩种,本文抛砖引玉先聊点DTD的事,欢迎各位大神吐槽。 内嵌的DTD定义:<!DOCTYPE rootNode [ DTD定义部分]> xm
2013-09-28 17:29:58
651
原创 修炼之路开篇立证
毕业三年多了,一直希望能够支持写博客,记录自己成长的点滴,但一直缺乏坚持下去的恒心。三年了,依旧彷徨,感觉自己技术进步太慢,不知道未来的路伸向哪里。 从今天开始努力修炼自己,坚持每周写一遍博客,立此为证,希望能够督促自己一步步前进。
2013-09-21 22:04:54
699
转载 apache + tomcat
http://blog.youkuaiyun.com/lifetragedy/article/details/7698555
2013-03-24 14:04:10
509
原创 jdk5 Exchanger 线程之间数据交换
俩个线程之间交换数据之后继续运行,除了全局静态变量,jdk5提供了Exchanger类来解决这个问题。不多说,直接上例子package com.skydream.thread.exchanger;import java.util.concurrent.Exchanger;public class ExchangerTest { /** * @param args * @th
2012-08-22 21:05:21
582
原创 jdk5 CountDownLatch
CountDownLatch能够让所有线程在某一个点阻塞,等待CountDownLatch的Count为0时才继续。package com.skydream.thread.countDownLatch;import java.util.concurrent.CountDownLatch;public class CountDownLatchTest { /** * @param
2012-08-19 18:50:53
672
原创 jdk5 CyclicBarrier让聚合
CyclicBarrier允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待。package com.skydream.thread.cyclicBarrier;import java.util.concurrent.BrokenBarrierException;import java.
2012-08-18 14:26:33
492
原创 JDK5 Semaphore信号量
Semaphore 在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。 package com.skydream.thread
2012-08-18 10:59:13
877
原创 JDK5 condition线程通信
JDK5之后提供了Lock 和 Condition俩个对象完全可以取代synchronized和wait、notify关键字。 下面实现一个例子说明线程通信.(主次线程交替运行10次)。 任务类:package com.skydream.thread.condition;import java.util.concurrent.locks.Condition;import ja
2012-08-18 09:19:17
1558
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人