JAVA知识
文章平均质量分 69
sunp823
积跬步,至千里;积小流,成江海
展开
-
Java四种引用
1.强引用(Strong Reference);2.软引用(Soft Reference);3.弱引用(Weak Reference);4.虚引用(Phantom Reference).原创 2015-04-29 02:17:59 · 341 阅读 · 0 评论 -
JAVA内部类
一、定义 放在一个类的内部的类我们就叫内部类。 二、 作用 1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所有元素的访问权限 3.可是实现多重继承 4.可以避免修改接口而实现同一个类中两种同名方法的调用。 三、例子 1.实现隐藏 平时我们对类的访问权限,都是通过类前面的访问修饰符来转载 2016-03-24 16:30:23 · 301 阅读 · 0 评论 -
一些错误和解决办法--01
今天遇到的问题个解决办法:1. 无法创建dc_service,因为无法注入appleDCService:nested exception is java.lang.NoClassDefFoundError: org/I0Itec/zkclient/exce这个错误是由原创 2016-05-30 20:51:53 · 1788 阅读 · 0 评论 -
Spring@Autowired注解
@Autowired注解可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。 注意:@Autowired默认是按照类型来注入的。原创 2016-05-30 21:36:10 · 384 阅读 · 0 评论 -
FastJson一些常见方法(API):处理JSON变得好简单
fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果说明比gson快大约6倍原创 2016-06-01 21:33:59 · 3837 阅读 · 0 评论 -
SpringMVC:JSON形式输出(基于Fastjson)
在Spring3.0中,@ResponseBody标记可以将对象”封装”为JSON形式的数据,并输出,下面的例子中使用的是阿里的Fastjson JSONaz解析工具,在spring配置文件中加入一些额外的配置。原创 2016-06-07 16:34:13 · 2965 阅读 · 0 评论 -
Callable接口解析
Java-Callable接口Callable的call()方法类似于Runnable接口中run()方法,都定义任务要完成的工作,实现这两个接口时要分别重写这两个方法,主要的不同之处是call()方法是有返回值的(其实还有一些区别,例如call方法可以抛出异常,run方法不可以),运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计原创 2016-06-02 18:36:35 · 10335 阅读 · 1 评论 -
spring context标签
spring context有以下标签: 1.annotation-config.作用是隐式地向Spring容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor、RequiredAnnotationBeanPostProces转载 2016-07-11 17:16:38 · 2941 阅读 · 0 评论 -
Java 并发专题 :闭锁 CountDownLatch 之一家人一起吃个饭
每天起早贪黑的上班,父母每天也要上班,话说今天定了个饭店,一家人一起吃个饭,通知大家下班去饭店集合。假设:3个人在不同的地方上班,必须等到3个人到场才能吃饭,用程序如何实现呢?CountDownLatch转载 2016-07-12 11:12:29 · 1707 阅读 · 0 评论 -
Google Guava缓存实现接口的限流
一.项目背景最近项目中需要进行接口保护,防止高并发的情况把系统搞崩,因此需要对一个查询接口进行限流,主要的目的就是限制单位时间内请求此查询的次数,例如1000次,来保护接口。 参考了 开涛的博客聊聊高并发系统限流特技 ,学习了其中利用Google Guava缓存实现限流的技巧,在网上也查到了很多关于Google Guava缓存的博客,学到了好多,推荐一个博客文章:http://ifeve.com/原创 2016-06-20 15:06:36 · 1346 阅读 · 1 评论 -
线程安全的单例模式
实现线程安全单例模式的两种方式: 1.双重检查+同步:public class Singleton{ private volatile static singletonInstance; private Singleton(){} public static Singleton getSingleton() {原创 2016-03-11 18:16:05 · 384 阅读 · 0 评论 -
线程池
原文地址:http://blog.csdn.net/sd0902/article/details/8395677 一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。转载 2015-11-14 23:41:36 · 359 阅读 · 0 评论 -
java native method
最近在看《深入理解Java虚拟机》,看了没几页,看到了一个以前不了解的概念:native方法。学习如下:"A native method is a Java method whose implementation is provided by non-java code." native方法即本地方法,native方法的实现是非Java的,例如这个方法是用C/C++实现的。在Java文件中一个原创 2015-04-27 01:39:33 · 3344 阅读 · 0 评论 -
java Set集合
java集合类主要由两个接口派生而出:Collection和Map,请注意,Map没有继承Collection接口.原创 2015-05-02 16:47:26 · 387 阅读 · 0 评论 -
JAVA—List集合总结
List接口总结:List接口是Collection接口的子接口,从其名称可以看出,是一个元素有序(并不是按大小排序,具有顺序索引,类似于数组),默认按照元素的添加顺序设置元素的索引,List和Set不同在于List可以具有重复元素,List增加了按照索引插入(add(int index,Object element)方法),替换(set(int index,Object element)方法原创 2015-05-07 00:16:39 · 449 阅读 · 0 评论 -
ConcurrentHashMap实现解析
ConcurrentHashMap是线程安全的HashMap的实现,具有更加高效的并发性。与HashTable不同,ConcurrentHashMap运用锁分离技术,尽量减小写操作时加锁的粒度,即在写操作时,不用对整个ConcurrentHashMap加锁。为了实现,ConcurrentHashMap采用了Segment结构,每个Segment中维护了一个链表数组,在存取操作过程中实现两次哈希。原创 2015-09-25 10:23:15 · 874 阅读 · 0 评论 -
java观察者(Observer)模式
观察者模式: 试想,在电子商务网站上,一个用户看中了一件一份,但是当时衣服的价格太贵,你需要将衣服收藏,以便等衣服降价时自动通知该用户。这里就是典型的观察模式的例子。 1.观察者模式的定义: 定义了一种对象之间的依赖关系,当一个对象(主题)发生改变时,它所有的依赖者(观察者)会收到主题状态改变的通知,并更新自己的状态。观察者模式让主题和观察者松耦合。原创 2015-10-21 11:01:21 · 549 阅读 · 0 评论 -
JAVA参数没有引用传递,只有值传递
原文章地址:http://www.cnblogs.com/clara/archive/2011/09/17/2179493.html当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本转载 2015-09-22 20:59:37 · 1324 阅读 · 0 评论 -
MySQL两大存储引擎:MyISAM和InnoDB
Mysql有两大常用的存储引擎MyISAM,InnoDB,默认的形式是前者。两者基本的差别是对事务处理、外键和行级锁的主持上,InnoDB支持事务处理、外键等高级特性,而MyISAM不支持。MyISAM类型的表强调的是性能,如果执行大量的select操作,MyISAM是更好的选择,其执行数度比InnoDB类型更快。两者具体的差别如下:1.MyISAM的索引和文件本身是分开的,这一点在存原创 2015-10-15 16:00:03 · 742 阅读 · 1 评论 -
自旋锁原理及java自旋锁
一、自旋锁的概念首先是一种锁,与互斥锁相似,基本作用是用于线程(进程)之间的同步。与普通锁不同的是,一个线程A在获得普通锁后,如果再有线程B试图获取锁,那么这个线程B将会挂起(阻塞);试想下,如果两个线程资源竞争不是特别激烈,而处理器阻塞一个线程引起的线程上下文的切换的代价高于等待资源的代价的时候(锁的已保持者保持锁时间比较短),那么线程B可以不放弃CPU时间片,而是在“原地”忙等,直到锁的持原创 2015-11-17 13:03:16 · 20178 阅读 · 2 评论 -
线程池的原理及实现
多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。转载 2016-03-29 14:27:07 · 261 阅读 · 0 评论 -
使用IntelliJ IDEA创建Maven多模块项目
使用Maven管理项目时,往往需要创建多个模块,模块之间存在相互引用的关系。对于Maven的依赖,也需要专门创建一个模块来管理依赖项。例如对于一个项目,可以创建一个common模块来管理POJO类,创建一个server来管理业务逻辑及数据库操作类,创建一个web模块来组织Web文件,如HTML,JSP等。下图是一个Maven多模块管理的案例项目结构:转载 2016-06-20 17:03:08 · 20208 阅读 · 0 评论