Java
积硅步至千里
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
最大子序和问题
最大子序和问题:给定整数A1,A2,.....An(可能有负数),求A1 +A2+A3+......+An的最大值(规定:如果所有整数均为负数,则最大子序和为0)例:输入-2, 11, -4, 13, -5, -2时,答案为20(从A2到A4)。下面给出四种不同复杂度的算法,进行比较分析O(N3)的算法原创 2016-04-14 13:32:56 · 1904 阅读 · 0 评论 -
Java多线程之ThreadLocal
ThreadLocal直译为"本地线程",但它并不是这样。ThreadLocal本身其实是一个容器,用于 存放线程的局部变量,这个类能使线程中的某个值与保存值的线程对象关联起来。ThreadLocal提供了get和set等访问接口或方法,这些方法为每个使用该变量的线程都存有一份副本,因此get总是返回当前执行线程在调用set时设置的最新值。下面将以实例代码说明。场景:一个序列号生成器的程序同时会有多原创 2017-06-28 10:40:57 · 545 阅读 · 0 评论 -
枚举单例模式
Java中的枚举类非常强大的。之前看过单例的许多实现,对于枚举的单例略有了解,但理解不够深刻,最近结合实例研究了一下,感觉枚举是很强大且非常好用。首先看一个最简单的枚举单例模式:public enum TestEnum { TEST_ENUM;}其中TEST_ENUM,即为TestEnum类的唯一实例。这样写可能一眼看去,没什么意义。也不是很好理解。下面以生成一个单例的CGLib动态代原创 2017-06-14 21:12:24 · 1173 阅读 · 0 评论 -
Java多线程之Condition
Condition,Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。下面将之前写过的一个线程通信的转载 2017-07-15 10:02:25 · 611 阅读 · 0 评论 -
Java中的枚举
虽然知道在Java中存在枚举类型,但是却一直很少用。最近接触了一些,特加以总结。枚举类型的定义枚举类型是指由一组固定的常量组成合法值的类型。比如我们常用的: public static final static ERROR = -1; public static final static SUCCESS = 1;根据枚举类型的定义,其实这也属于一种枚举,一种int枚举模式。这种模原创 2017-06-13 18:08:21 · 564 阅读 · 0 评论 -
JSON字符串,JSON对象,JSON数组
JSON的全称是"JavaScript Object Notation",意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。JSON必须是符合以下两点: 1.键一定要用双引号,值如果是字符串也要用双引号包括 2.数据只包括,数字,布尔,数组,null,对象,字符串下面先给出JSON对象,JSON字符串,JSON数组的基本形式,用于对比 JSO原创 2017-06-11 11:23:53 · 725 阅读 · 0 评论 -
数据库之事务
定义事务是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中一条语句因为崩溃或其他原因无法执行,那么多有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。通俗的讲,事务就是一件事情。是一个不可分割的整体,就像化学原子一样,是构成物质的最小单元。ACID原子性(Atomicity):一个原创 2017-07-01 17:09:43 · 843 阅读 · 0 评论 -
Java之泛型剖析
泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。泛型提供了一个类型参数用来指示元素的类型。比如AarryList: ArrayList<Sting> strs = new ArrayList<String>();(根据多态性,前面的ArrayList<String>可以换成List<String>)。这样使代码有更好的可读性。一个泛型类就是具有一个或多个类型变量的类。下面是一个简单的原创 2017-06-17 20:55:03 · 401 阅读 · 0 评论 -
Java之注解初学
注解是那些插入到源代码中用于某种工具处理的标签。这些标签可以在源代码层次上进行操作,也可以在处理编译器将它们纳入到注解类文件中。在Java中,注解是当一个修饰符来被使用的,它被置于被注解项之前,中间没有分号。注解语法一个注解是由一个注解接口定义的 modifiers @interface AnnotationName { element declaration1;原创 2017-06-16 21:59:42 · 467 阅读 · 0 评论 -
Java多线程之CountDwonLatch
CountDwonLatch是一个非常实用的多线程控制工具类,这个工具类通常用来控制线程等待,它可以让某个线程等待直到其它线程执行任务结束,在开始执行。下面先看代码,根据代码分析程序,提出问题。import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.ut原创 2017-06-15 21:07:19 · 1863 阅读 · 0 评论 -
java实现二叉树
用java实现实现二叉树第一步:创建节点类class TreeNode { private Object nodeValue; private TreeNode left, right; public TreeNode(){ this(null, null, null); } public TreeNode(Object item){ nodeValue原创 2016-04-18 21:21:46 · 839 阅读 · 0 评论 -
JConsole的远程连接
JConsole是基于JMX的可视化监视、管理工具。可以很方便的监视本地及远程服务器的java进程的内存使用情况。下面介绍如何连接远程服务器,进行远程java程序的监控。1、使用hostname -i 查看远程主机的hostname。如果显示为 127.0.0.1,需要进行修改。vim /etc/hosts修改127.0.0.0.1 为服务器真实的外网ip。2、被监控的程序运行时给虚拟机添加一原创 2017-07-10 10:45:34 · 6920 阅读 · 0 评论