java-up
stupider0623
快乐并学习着,为了属于我的生活
展开
-
java_集合体系之Map体系总结(一)
1、Map概述 1.1 什么是Map Map是将键映射到值( key-value )的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。Map 接口提供三种collection 视图,允许以键集(keySet())、值集(values())或键-值映射关系集(entrySet())的形式查看某个映射的内容( 即获取键值对的内容 )。 映射顺序定义为迭代器在映射的 col...原创 2016-08-29 11:25:33 · 363 阅读 · 0 评论 -
java集合----HashMap与set关系
曾经在做开发的过程中,编写了如下一段代码: map.put("dbradius","C:/temp/dbradiusx_script.xml"); map.put("radius","C:/temp/radius_script.xml"); /* * 保证脚本可用 */ public boolean isUsable(){ Iterator<Stri...原创 2017-09-05 14:47:18 · 1238 阅读 · 0 评论 -
java_集合体系之Map体系总结(二)
3.3、 LinkedHashMap 3.31 LinkedHashMap特点: Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此链接列表定义了迭代顺序(即存储的顺序与输出的顺序相同),该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。此实现不是同步的 注意: ①当key为String或基本数据类型包装类,键相同自动替换旧值为新值 (因为他们已重写了hashCode...原创 2017-09-07 15:00:52 · 128 阅读 · 0 评论 -
ActiveMQ持久化
一.MQ基本操作 MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下: 创建队列管理器crtmqm -q QMgrName-q是指创建缺省的队列管理器 删除队列管理器dltmqm QmgrName 启动队列管理器strmqm QmgrName如果是启动默认的队列管理器,可以不带其名字 ...原创 2017-09-08 09:34:17 · 122 阅读 · 0 评论 -
HashMap和Hashtable的区别
1), HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于 HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。2), HashMap把Hashtable的contains方法去掉了...原创 2017-02-06 15:31:53 · 72 阅读 · 0 评论 -
log4j.properties配置详解
一、Log4j配置 第一步:加入log4j-1.2.8.jar到lib下。 第二步:在CLASSPATH下建立log4j.properties。 第三步:相应的修改其中属性,修改之前就必须知道这些都是干什么的,在第二部分讲解。 第四步:在要输出日志的类中加入相关语句: 定义属性:protected final Log log = LogFactory.getLog(getClas...原创 2017-12-26 09:11:14 · 179 阅读 · 0 评论 -
浅谈Arrays.asList()方法的使用
浅谈Arrays.asList()方法的使用 首先,该方法是将数组转化为list。有以下几点需要注意: (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新 (3)不支持add和remove方法. 在java语言中,把...原创 2017-12-28 15:16:04 · 117 阅读 · 0 评论 -
单例(Singleton)模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。 要想控制一个类只被创建一个实例,那么首要的问题就是把创建实例的权限收回来,让类自己来负责创建自己类的实例,然后由这个类来提供外部可以访问这个类实例的方法,这就是单例模式的实现方法。 单例模式的结构和实现 单例模式的结构图 Singleton:负责创建Singleton类自己的唯一实例,并提供一个getIn...原创 2018-01-04 16:50:09 · 150 阅读 · 0 评论 -
java中JVM的原理
一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换ma...原创 2018-01-08 15:26:16 · 70 阅读 · 0 评论 -
Java 详解 JVM 工作原理和流程
作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: 运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再...原创 2018-01-08 15:56:56 · 96 阅读 · 0 评论 -
java多线程(1)
java中多线程 一,并行与并发 并发:(Concurrency)是同时处理很多事情(dealing with lots of things at once)/两个或者多个事件在同一时间段发生。 并行:(Parallelism)是同时执行很多事情(doing lots of things at once)/两个或者多个事件在同一时刻发送; 二,多进程与多线程 ...原创 2017-03-06 15:34:23 · 86 阅读 · 0 评论 -
java_集合体系之List体系总结、应用场景
摘要: 总结很重要、他能客观的体现出你对这个体系的理解程度、首先要对整体的结构框架要掌握、再细化到每个分支的特点、再比较不同分支之间的相同点、不同点、再根据他们不同的特性分析他们的应用场景。 一:List的整体框架图 线条简单说明: 1、上图中虚线且无依赖字样、说明是直接实现的接口 ...原创 2017-09-04 19:18:14 · 119 阅读 · 0 评论 -
java集合----ArrayList源码剖析
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的C...原创 2017-09-04 13:12:04 · 111 阅读 · 0 评论 -
知识框架
1 架构师系列 架构师图谱 Java架构师图谱 微服务架构秘籍 一致性图谱 互联网大流量的方法 安全秘籍 阿里巴巴常用小框架 架构方法论图谱 设计模式秘籍图谱 2 Java系列 JVM垃圾回图谱 Java并发图谱 Java集合图谱 Java集合类图 Java List类图 Ja...原创 2017-09-04 12:12:44 · 208 阅读 · 0 评论 -
java设计模式
设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Fa...原创 2016-10-13 16:07:59 · 72 阅读 · 0 评论 -
java设计模式~~单例模式
一、Singleton,单例 模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 常用 (1),懒汉模式 //懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton { private Singleton() {} private static Singleton ...原创 2016-10-13 16:08:30 · 79 阅读 · 0 评论 -
java设计模式~工厂模式
设计模式的原则:针对借口编程 工厂模式的作用: A.应用程序的设计中把对象的的创建集中在一个地方创建或者统一由某类来管理(spring) B.在不改动应用程序的基础上可以直接添加对象,同时也利于对象的维护。 工厂模式的种类: A.简单工厂 B.工厂方法 C.抽象工厂 ...原创 2017-03-27 09:01:31 · 67 阅读 · 0 评论 -
List、Set和Map的解说
1. List接口的特征: (1) 有顺序的。(2) 可重复的。(3) 存放不同的数据类型。 2. Set接口的特征: (1) 无顺序的。(2) 不可重复的。(3) 可以存放不同的数据类型。 3. SortedSet接口的特征: (1) 继承了Set接口。(2) 排好顺序的集合。(3) 不可重复的。(4) 只存放同类型的。 4. 类和接口关系: Li...原创 2016-12-09 17:09:37 · 72 阅读 · 0 评论 -
java设计模式~动态代理
一. JAVA的动态代理(比较官方说法) 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处 理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。 代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的 对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提 供特定的服务。 按照代...原创 2017-05-15 10:04:32 · 74 阅读 · 0 评论 -
八大排序算法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间...原创 2017-01-16 16:32:49 · 132 阅读 · 0 评论 -
java获取日期 昨天 今天 明天的日期
Date date=new Date();//取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 date=calendar.getTime(); //这个时间就是日期往后推一天的结果 Sim...原创 2017-06-02 16:18:48 · 131 阅读 · 0 评论 -
Java之美之JVM内存管理及垃圾回收
很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C、C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确实很低,一方面,Java语言采用面向对象思想,这也决定了其必然是开发效率高,执行效率低。另一方面,Java语言对程序员做了一个美好的承诺:程序员无需去管理内存,因为JVM有垃圾回收(GC),会去自...原创 2017-08-31 14:47:13 · 94 阅读 · 0 评论 -
java集合----HashMap源码剖析
HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接口,因此它支持序列化,实现了...原创 2017-08-31 14:53:27 · 122 阅读 · 0 评论 -
Java中内存中的Heap(堆)、Stack(栈)与程序运行的关系
堆和栈的内存管理 栈的内存管理是顺序分配的,而且定长,不存在内存回收问题;而堆 则是随机分配内存,不定长度,存在内存分配和回收的问题;堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。使用栈内存就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾...原创 2017-08-31 15:03:33 · 149 阅读 · 0 评论 -
Java 多线程编程 (2)
Java 多线程编程 Java 给多线程编程提供了内置的支持。一个多线程程序包含两个或多个能并发运行的部分。程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径。 多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。 这里定义和线程相关的另一个术语 - 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程。一个线程不能独立的存在,它必须是进程的一部分。一个...原创 2017-03-14 20:03:35 · 85 阅读 · 0 评论