- 博客(96)
- 收藏
- 关注
转载 学Redis这篇就够了
Redis 简介Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库Redis 与 其他 key - value 缓存产品有以下三个特点:Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis 不仅仅支持简单的 key - value 类型的数据,同时还提供 list,se...
2019-09-20 18:13:00
169
转载 java的动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要...
2019-08-29 21:54:00
124
转载 mybatis-sql执行流程源码分析
1. SqlSessionFactory 与 SqlSession. 通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlSession的重要性了吧, 没错,从表面上来看,咱们都是通过SqlSession去执行sql语句(注意:是从表面看,实际的待会儿就会讲)。那么咱们就先看看是怎么获取SqlSession的吧:(1)首先,SqlSessi...
2019-08-23 01:47:00
143
转载 mybatis
jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/ssmjdbc.username=rootjdbc.password=root<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE config...
2019-08-23 01:24:00
98
转载 mybatis整体流程
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configu...
2019-08-23 01:16:00
105
转载 java解析json字符串详解(两种方法)
一、使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包;直接上代码,如下private void parseJSONWithJSONObject(String JsonData) { try { JSONArray jsonArray = new JSONArray(jsonData); fo...
2019-08-22 21:57:00
6553
转载 json与String的转化
String转成jsonObject JsonObject json = JsonObject.fromObject(String str)String转成JsonArray JsonArrayjsonArray = JsonArray.fromObject(String str)在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,...
2019-08-22 21:40:00
158
转载 Java 中的动态代理
一、概述1. 什么是代理 我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销售商品。关于微商代理,首先我们从他们那里买东西时通常不知道背后的厂家究竟是谁,也就是说,“委托者”对我们来说是不可见的;其次,微商代理主要以朋友圈的人为目标客户,这就相当于为厂家做了一次对客户群体的“过滤”。我们把微商代理和厂家进一步抽象,前者可抽象为代理类,后者可抽象为委托类(...
2019-08-22 20:48:00
61
转载 Tomcat解析XML和反射创建对象原理
Tomcat解析XML和反射创建对象原理 1 import java.lang.reflect.InvocationTargetException; 2 import java.lang.reflect.Method; 3 import java.util.List; 4 5 import org.dom4j.Document; 6 import...
2019-08-08 10:03:00
175
转载 正则表达式中各种字符的含义
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。列目录时,dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。正则表达式是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字...
2019-08-01 15:58:00
247
转载 HashMap源码
负载因子,控制数组的使用率。TREEIFY_THRESHOLD变红黑树上限UNTREEIFY_THRESHOLD拆树size计数器,当计数器大于threshold时,紧要进行扩容操作。threshold = floatFactor*DEFAULT_INITIAL_CAPACITY (0.75*16)=12sta...
2019-07-16 23:09:00
59
转载 多线程40题总结
1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然”,只有达到”知其然知其所以然”的程度才可以说是把一个知识点运用自如。OK,下面说说我对这个问题的看法:(1)发挥多核CPU的优势随着工业的进步,现在的笔记本、台式机乃至商用的应用...
2019-07-15 19:02:00
86
转载 Java并发与多线程
摘要:1. 并发与并行的区别,何为并发编程,并发编程的优势在哪2. 多线程、多任务、多进程机制概述3. 多线程、多任务、多进程机制与编程思想的关系一、并发1.1 并发与并行首先介绍一下并发与并行,两者虽然只有一字之差,但实际上却有着本质的区别,其概念如下:并行性(parallel):指在同一时刻,有多条指令在多个处理器上同时执行;并发性(concurr...
2019-07-15 19:01:00
84
转载 线程创建方式
摘要:1. 通过继承Thread类来创建并启动多线程的方式2. 通过实现Runnable接口来创建并启动线程的方式3. 通过实现Callable接口来创建并启动线程的方式4. 总结Java中创建线程的方式,比较各自优势和区别一、继承Thread类创建线程类1.1 继承Thread类创建线程步骤Java使用Thread类代表线程,所有的线程对象都必须是Threa...
2019-07-15 19:00:00
83
转载 控制线程
摘要:Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行1. join线程控制,让一个线程等待另一个线程完成的方法2. 后台线程,又称为守护线程或精灵线程。它的任务是为其他的线程提供服务,如果所有的前台线程都死亡,后台线程会自动死亡3. 线程睡眠sleep,让当前正在执行的线程暂停一段时,并进入阻塞状态4. 线程让步yield,...
2019-07-15 18:58:00
98
转载 线程生命周期
摘要:当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可能一直"霸占"着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换1. 新建状态,当...
2019-07-15 18:55:00
78
转载 一篇文章看懂Java并发和线程安全(一)
一、前言长久以来,一直想剖析一下Java线程安全的本质,但是苦于有些微观的点想不明白,便搁置了下来,前段时间慢慢想明白了,便把所有的点串联起来,趁着思路清晰,整理成这样一篇文章。二、导读1、为什么有多线程?2、线程安全描述的本质问题是什么?3、Java内存模型(JMM)数据可见性问题、指令重排序、内存屏障三、揭晓答案1、为什么有...
2019-07-15 18:54:00
86
转载 进程与线程的区别
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度...
2019-07-15 18:45:00
106
转载 JAVA基础--JAVA 集合框架(泛型、file类)
一、集合总结集合:Collection体系、Map体系。Collection体系:单列集合的共性操作规则。 List:列表,可以重复,有下标,拥有特有的迭代器ListIterator。 ArrayList:底层是可变数组。增删慢,查询快。不安全 LinkedList:底层是链表结构...
2019-07-14 00:05:00
100
转载 HashMap的实现原理
HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap...
2019-07-14 00:03:00
91
转载 Java 流(Stream)、文件(File)和IO
Java 流(Stream)、文件(File)和IOJava.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。Java为I/O提供了强大的而灵活的支持,使其更广泛地应用到文件传...
2019-07-14 00:01:00
44
转载 总结接口和抽象类的异同
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实...
2019-07-13 23:28:00
176
转载 Java 泛型
Java 泛型如果我们只写一个排序方法,就能够对整形数组、字符串数组甚至支持排序的任何类型的数组进行排序,这该多好啊。Java泛型方法和泛型类支持程序员使用一个方法指定一组相关方法,或者使用一个类指定一组相关的类型。Java泛型(generics)是JDK 5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。使用Java泛型的...
2019-07-13 23:19:00
64
转载 HashMap----工作原理
先来些简单的问题 “你用过HashMap吗?” “什么是HashMap?你为什么用到它?” 几乎每个人都会回答“是的”,然后回答HashMap的一些特性,譬如HashMap可以接受null键值和值,而HashTable则不能;HashMap是非synchronized;HashMap很快;以及HashMap储存的是键值对等等。这显示出你已经用过HashM...
2019-07-13 23:17:00
58
转载 JAVA基础--JAVA API常见对象(字符串&缓冲区)
一、 String 类型 1. String类引入 第二天学习过Java中的常量: 常量的分类: 数值型常量:整数,小数(浮点数) 字符型常量:使用单引号引用的数据 字...
2019-07-10 21:27:00
146
转载 Java中static、final、static final的区别
说明:不一定准确,但是最快理解。final:final可以修饰:属性,方法,类,局部变量(方法中的变量)final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。final修饰的属性表明是一个常数(创建后不能被修改)。final修饰的方法表示该方法在子类...
2019-07-10 21:23:00
63
转载 Java中this与super的区别
this与super关键字在java中构造函数中的应用:**super()函数**super()函数在子类构造函数中调用父类的构造函数时使用,而且必须要在构造函数的第一行,例如:class Animal { public Animal() { System.out.println("An Animal"); }}class D...
2019-07-10 21:22:00
62
转载 java中static作用详解
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之...
2019-07-10 21:20:00
40
转载 方法重写与方法重载的区别
一、方法重写(0veriding)在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。重写体现了Java优越性,重写是建立在继承关系上,它使语言结构更加丰富。在Java中的继承中,子...
2019-07-10 21:19:00
141
转载 Java中对象和引用的理解
偶然想起Java中对象和引用的基本概念,为了加深下对此的理解和认识,特地整理一下相关的知识点,通过具体实例从两者的概念和区别两方面去更形象的认识理解,再去记忆。一、对象和引用的概念:在Java中万物皆对象,比如我们定义一个简单的动物类:class Animal { String count; String weight; ....}...
2019-07-10 18:51:00
170
转载 equals与== 和toString方法
/** * equals()方法的使用 * * 1.java.lang.Object类中的equals()方法的定义: * * public boolean equals(Object obj) { return (this == obj); } * * 说明:Object类中equals()比较两个对象的引...
2019-07-10 18:49:00
64
转载 JAVA基础--JAVA API集合框架(其他集合类,集合原理)
一、ArrayList介绍 1.ArrayList介绍 ArrayList它是List接口的真正的实现类。也是我们开发中真正需要使用集合容器对象。 ArrayList类,它是List接口的实现。肯定拥有角标。并且可以存放重复元素,也能够使用List接口中的所有特有方法。ArrayList集合容器,它的底层使用的可变的数组作为存储元素的...
2019-07-10 18:40:00
71
转载 JAVA基础--JAVA API集合框架
一、Map集合 1.map集合介绍Collection集合的特点: 集合中存储的所有元素都是单一元素,元素和元素之间没有必然的关系。因此我们把Collection集合也称为单列集合。Map集合: Map集合中保存的是一组(一对)数据。数据之间存在着一定的对应关系。Map集合就可以将数据的对应关系维护起来。当这样的数据存储在Map集合...
2019-07-10 18:32:00
55
转载 集合(二)
集合的概念1.什么是集合集合是一种容器, 长度可变, 可以存储任意类型的对象.基本数据类型也可以装入集合, 但其实内部是先自动装箱成包装类对象, 然后再存入集合的@paramargs 数组和集合的区别 1,数组可以存储基本数据类型变量,也可以存储引用数据类型变量(对象) 集合只能存储对象 2,数组长度是固定的,一旦被初始化就不能被改变 集合的长度...
2019-07-10 18:30:00
108
转载 集合(一)
集合常用类和接口介绍Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection...
2019-07-10 18:28:00
56
转载 Java 日期时间
Java 日期时间java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的微秒数。Date(long millisec)Date对象创建以后,可以调用下面的方法。...
2019-07-09 18:13:00
85
转载 Java StringBuffer和StringBuilder类
Java StringBuffer和StringBuilder类当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder类在Java 5中被提出,它和StringBuffer之间的最...
2019-07-08 18:12:00
44
转载 Java String类
Java String类字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串。创建字符串创建字符串最简单的方式如下:String greeting = "Hello world!";在代码中遇到字符串常量时,这里的值是"Hello world!",编译器会使用该值创建一个String对象。和其它对...
2019-07-08 18:08:00
45
转载 Java 异常处理
Java 异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。异常发生的原因有很多,通常包含以...
2019-07-05 18:49:00
42
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人