自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

转载 visio调整画布大小和旋转画布

1.调整画布大小:鼠标移至画布边界(注意不能是顶点附近),按下ctrl,就会出现双向箭头,拖动鼠标即能调整画布大小。2.旋转画布:鼠标移至画布顶点或附近,按下ctrl, 出现单箭头优弧,移动鼠标即能旋转画布。也可先按住ctrl,再移动鼠标~仅供参考^_^

2015-11-30 23:16:43 5981

转载 java设计模式之单例模式

Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 public class Singleton {        /* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */      private static Singleton instance = null;        /* 私有构造方法,防

2015-11-30 23:16:19 248

转载 java设计模式之观察者模式

观察者模式很好理解,类似于邮件订阅和RSS订阅,当我们浏览一些博客或wiki时,经常会看到RSS图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。先来看看关系图:MySubject类就是我们的主对象,Observer1和Observer2是依赖于M

2015-11-30 23:15:57 332

转载 java5线程并发库学习之Semaphore

Semaphore的作用类似Lock的功能,不同的是Semaphore的构造函数中可以传入一个int型的参数,用来确定创建一个多大的通道。Lock一次只允许一个线程进入,解锁后才允许别的线程进入。而Semaphore可以允许多个线程同时进入,一旦有线程释放就会空出一个位置让另外的线程进入。相当与Lock是一个单车道,而Semaphore是一个多车道。

2015-11-30 23:15:39 389

转载 mahout bayes源码分析总结

最近在学习mahout,首先从最简单的bayes分类入手研究了一下源码,有谬误之处欢迎批评指正。一、贝叶斯分类条件概率P(A|B) 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为P(A|B)= P(AB)/ P(B)。该公式说明了如何计算已知B发生的前提下A还要发生的概率。贝叶斯定理解决了现实生活里经常遇到的问题

2015-11-30 23:15:20 370

转载 ConcurrentHashMap原理

ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。  实现原理  锁分离 (Lock Stripping) ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些

2015-11-30 23:15:00 279

转载 LinuxIO模型概述

前言一个socket进程进行一次read可以分成两个阶段,等待数据是否准备好,以及数据从内核copy到用户空间。 我们举个例子,肚子饿了要去小吃街吃拉面,在我们正式开始吃面之前需要1.先等拉面师傅做好面,2.然后把做好的面放到我们的桌子上。阻塞和非阻塞阻塞和非阻塞,主要是针对事情的本身,指做一件事后能不能返回一个结果。阻塞就是一直等待到事情做完才返回,非阻塞就是

2015-11-30 23:13:56 429

转载 Java GC基本算法

1、JVM内存组成结构JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由FromSpace和ToSpace组成,结构图如下所示

2015-11-30 23:13:41 302

转载 jvm之新生代

单纯从JVM的功能考虑,并不需要新生代,完全可以针对整个堆进行操作。新生代存在的唯一理由是优化垃圾回收(GC)的性能。更具体说,把堆划分为新生代和老年代有2个好处:简化了新对象的分配(只在新生代分配内存),可以更有效的清除不再需要的对象(即死对象)(新生代和老年代使用不同的GC算法)通过广泛研究面向对象实现的应用,发现一个共同特点:很多对象的生存时间都很短。同时研究发现,新生对象很少引

2015-11-30 23:13:22 318

转载 volatile and synchronized

volatile本质是在告诉jvm当前变量在寄存器中的值是不确定的,需要从主存中读取,synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住.volatile仅能使用在变量级别,synchronized则可以使用在变量,方法.volatile仅能实现变量的修改可见性,但不具备原子特性,而synchronized则可以保证变量的修改可见性和原子性.vola

2015-11-30 23:12:57 195

转载 这是什么呀

这是什么呀

2015-11-30 23:12:36 254

转载 CAS原理分析

一、锁机制常用的锁机制有两种:1、悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。悲观锁的实现,往往依靠底层提供的锁机制;悲观锁会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。2、乐观锁:假设不会发生并发冲突,每次不加锁而是假设没有冲突而去完成某项操作,只在提交操作时检查是否违反数据完整性。如果因为冲突失败就重试,直到成功为止。乐观锁大多是基于

2015-11-30 23:12:12 259

转载 六种订单类型

一般的成熟的证券市场有这样六种订单类型:市价买入、市价卖出,限价买入、限价卖出,止损买入、止损卖出。其他什么电话预警订单...就属于扯淡类型的了也可以理解为三种(市价订单、限价订单、止损订单)。Buy-Market order,Entry limit,Entry stop;Sell-Market order,Entry limit,Entry stop. Bid-Ask.  第一种市价订单

2015-11-30 23:11:53 9543

转载 Callable,Runnable比较及用法

编写多线程程序一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是,(1)Callable规定的方法是call(),Runnable规定的方法是run().(2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值得(3)call方法可以抛出异常,run方法不可以(4)运行Callable任务

2015-11-30 23:11:27 217

转载 一种java拷贝属性的方法

"129671" snippet_file_name="blog_20131226_1_6439347" name="code" class="java">import java.lang.annotation.Documented;  import java.lang.annotation.ElementType;  import java.lang.annotation.Inherit

2015-11-30 23:08:34 416

转载 Java 7 Fork/Join 并行计算框架概览

应用程序并行计算遇到的问题    当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展。多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量。而现在很多的应用程序在运行在多核心的处理器上并不能得到很好的性能提升,因为应用程序的并发处理能力不强,不能够合理有效地的利用计算资源。线性的计算只能利用n分之一的计算支援。    要提高应用程序在多核处理

2015-11-30 23:08:16 246

原创 如果想在软件领域赚钱,早点搞iPhone吧

未来5年,是发展最快的时候,因为经济会从低谷到高点,然后再到谷底。 如果你搞Java,除了去做业务开发,没什么好机会了。 .net也一样,php似乎也不会有特殊的地方。 3G的出现,不会有什么大的改变,但是,这是一个最新的领域,只有这个机会才能让未来的企业有机会发财,其他技术都没戏。 现在要进入移动应用领域,iPhone最先进,也许以后会有更新的技术和产品,但是目前

2009-09-28 23:29:00 1597

原创 产业链产生还需要很久

一个产业链产生,需要通过大规模的市场行为,最终确定一种稳定的组合形式。 可是现在,几乎没有什么稳定的模式,公司不断倒闭,外来企业越来越多,这不是什么好事。 本地的中小企业,像一个农田里面自己种植的庄稼,外来企业,相当于,隔壁大树 伸张过来的 树枝,虽然很大,而且有花,非常诱人,但是,没有哪个农名会 给那个树枝 不停的施肥 和 除虫,因为,无论如何,他投入到它上面的东西,都会颗粒无收

2009-09-28 23:19:00 392

原创 前面是什么?

听说,西安市 要建立 一个像 纺织城 一样的 软件城,占地 5.7平方公里。还有恢复一个 叫昆明湖 的湖泊,据说是古代 汉武大帝 训练水师的地方。因为 挖湖,会用挖出的土,建立一个小山。 将是 西安最漂亮的地方,超过大唐芙蓉园。 我叹息,可能建成后,房地产 商们都发财了,而搞软件的还很穷。 所以,建议大家先去搞房地产,过了五年后,再搞软件。 可惜啊,计算机再能,也不能盖房子

2009-09-28 23:18:00 590

原创 如何教小弟弟小妹妹进入软件这行

最近在给一个软件培训中心中心带一门比较特殊的课程:程序员职业素养 这个课程比较有挑战,内容庞杂,且无唯一的答案,有很多中不同的标准,所以,要讲好简直太难了。 不过这也是一种挑战,也是对自己的一个重新审视,看看自己这么多年是不是白过了。 这只是随便写的手稿,不是最终稿。 上周已将讲过了,学生需要具备的一些基本的做人的道德水准,这些与软件职业无关,是每个行业,应该说是每

2009-05-03 11:03:00 2718

原创 36岁的程序员

我虽然也是程序员,但是,我那时比现在的程序员还是要幸福多了。1、我是下海的,至少经历过研究所等国企的温暖,而现在的程序员,还没毕业就为生活所迫,为1斗米折腰,为前途而迷茫和困惑,比我们那时候艰辛多了。2、我们那时软件开发叫“研究”,现在软件开发叫“垒砖头”。3、我们那个时候软件开发人员很少,现在满大街都是。 4、我们那个时候管理是传统的讲人性,现在的管理如同管理牲口,随时可能被开,公司天天都在“炒鱿鱼”。5、我们那个时候民族软件还有很大的市场份额,大家做软件还很开心,现在国产软件都快绝种了,作软件也没什么激

2008-03-31 21:06:00 793 4

原创 如何提高西安软件行业的开发能力(WEB开发)

人才难找 还是没有用好人才现在遇到任何软件公司的管理人员,都在抱怨没有人才,没有高端人才。似乎这已经成了制约西安软件也发展的重要阻力。1、高端人才难找 不过也存在着大量的行为,让我们企业在人才使用方面造成巨大的浪费。企业认为的高端人才就是高级程序员,我认识2个软件公司,甚至技术总监都是编码的,所以,导致全部公司以编码能力来衡量是否是高级人才,真是可惜。2、以为编码能

2008-03-31 03:05:00 876 5

原创 “土法”项目管理

谈到项目管理,很容易跟一系列的名次和概念结合起来,计划、风险管理、跟踪、控制、里程碑、评审、范围管理、总结等等,你要是没一两年项目管理的经验,真会对这些东西有恐惧的。 中国人,尤其是象我这样的在西安的老土们,要想做好项目也不难,俗话说条条大路通罗马,就用我们西安古老的文化沉淀,也能将项目关好,不成问题。 记得初中学奥数的时候,有一个物理老师用陕西话,讲课简直笑死人,普通话应该这么说

2008-01-16 16:40:00 450

权限管理系统2

Java版本的权限管理 页面当作控制点,可以将若干页面的访问权,组合成一个角色。 一个用户,可以赋予多个角色。 通过用户、角色、页面,来实现系统的权限控制 servlet过滤器对每个访问进行过滤,提高安全性。 支持集团公司的组织结构,多单位,每个单位内部为树型组织结构。

2008-04-06

权限管理系统

源码 Java版本的权限管理<br>页面当作控制点,可以将若干页面的访问权,组合成一个角色。<br>一个用户,可以赋予多个角色。<br>通过用户、角色、页面,来实现系统的权限控制<br>servlet过滤器对每个访问进行过滤,提高安全性。<br>支持集团公司的组织结构,多单位,每个单位内部为树型组织结构。

2008-04-06

空空如也

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

TA关注的人

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