自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (7)
  • 收藏
  • 关注

java源码

01 开篇词:为什么学习本专栏02 String、Long 源码解析和面试题03 Java 常用关键字理解04 Arrays、Collections、Objects 常用方法源码解析05 ArrayList 源码解析和设计思路06 LinkedList 源码解析07 List 源码会问哪些面试题08 HashMap 源码解析09 TreeMap 和 LinkedHashMap 核心...

2020-06-28 14:50:05 232

原创 9.spring发送邮件

1.添加jar包<dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.5.5</version></dependency><dependen...

2020-02-16 03:51:53 238

原创 接口参数的兼容性

需求:根据商品id或者itemName查询商品详情一个定义了若干个参数的接口,当客户端发起请求而携带的参数个数不确定时,为了能够正常响应,需要对接口做一个适配处理。1.controller层开发@Controller@RequestMapping("/items")public class ItemsController { @Autowired private ItemsServi...

2019-11-07 13:58:12 1328

原创 单文件上传/下载

1.添加依赖<!-- 文件上传 --><dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version>...

2019-11-07 13:55:35 212

原创 Dom4j生成/解析Xml文件

解析1.引入依赖<!-- dom4j --><dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.0</version></dependency>2....

2019-11-07 13:50:51 153

原创 IDEA将Maven项目打包成war包并部署

1.将web项目通过maven打包成war包(pom文件中的打包方式为war)2.将war包复制到tomcat的webapps目录下3.修改server.xml,在Host配置段中添加如下内容<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> //...... &lt...

2019-11-07 13:46:18 2865

原创 Tomcat目录结构详解

1.bin目录该目录下存放的是二进制可执行文件,主要有4个文件。tomcat6.exe:在控制台下启动Tomcat。tomcat6w.exe:弹出UGI窗口启动Tomcat。startup.bat:startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动。shutdown.bat:shutdawn.bat用来停止Tomcat;2.conf目录...

2019-11-07 13:45:34 158

原创 8.Spring整合HttpClient

1.添加jar包<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version></dependency>2.s...

2019-11-07 13:40:04 112

原创 JVM的内存模型

1.程序计数器1.1. 什么是程序计数器?程序计数器是一块较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。也就是说,程序计数器里面记录的是当前线程正在执行的那一条字节码指令的地址。注:但是,如果当前线程正在执行的是一个本地方法,那么此时程序计数器为空。1.2. 程序计数器的作用字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制在多线程的情况下,程...

2019-11-07 13:34:35 85

原创 Java类初始化顺序说明

一个类会有如下几个内容,类在初始化时他们是有顺序的静态属性:static 开头定义的属性静态方法块: static {} 圈起来的方法块静态方法:static 修饰的方法(被调用才生效)普通属性: 未带static定义的属性普通方法块: {} 圈起来的方法块普通方法: 普通方法(被调用才生效)构造方法: 类名相同的方法1.普通类public class LifeCycle {...

2019-10-28 10:54:02 107

原创 枚举

public enum SeasonEnum { SPRING("1","春天"), SUMMER("2","夏天"), AUTUMN("3","秋天"), WINTER("4","冬天"); SeasonEnum(String key,String value){ this.key = key; this.value = ...

2019-10-28 10:53:17 87

原创 9.Spring整合Redis

1.引入依赖<!--redis--><dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.6.2.RELEASE</ve...

2019-10-25 22:59:46 169

原创 SSM项目搭建

一.创建工程1.创建一个maven项目工程2.创建项目目录3.引入项目所需要的依赖4.部署tomcat并启动项目5.安装mybatis-plugin以及lombokhttps://blog.csdn.net/u010286027/article/details/85853659二.SSM的小demo1.添加spring配置(applicationContext-dao.xml)...

2019-10-07 23:07:56 213

原创 停止线程和守护线程(传智播客)

一.概述1.进程在一个操作系统内,可单独执行的程序都可称之为进程。或者是操作系统给将要运行的程序分配的内存空间。2.线程一个进程内负责代码执行的控制单元或者执行路径。3.多线程一个进程拥有多条执行路径称之为多线程。一个进程至少有一个线程。4.线程任务每一个线程都有需要执行的代码称之为线程任务。5.为什么使用解决代码可以同时执行(线程执行是依赖cpu在线程间快速、随机切换完成的...

2019-10-06 15:16:49 212

原创 线程间的通信和线程调度(传智播客)

一.线程间的通信1.多个线程操作共享资源,但是任务不一样class Resource{ private int num = 1; private boolean flag = false; private String name; public synchronized void set(String name){ if(flag){ try{ this.wait()...

2019-10-06 15:16:12 187

原创 线程同步和死锁(传智播客)

一.同步多线程在操作共享资源时,某一时刻只能有一个线程操作共享资源。1.同步代码块public class MyThread implements Runnable{ private int num = 400; Object obj = new Object(); /* (non-Javadoc) * @see java.lang.Thread#run() */ @Ov...

2019-10-06 15:15:07 128

原创 线程的创建和安全问题(传智播客)

一.线程的创建1.继承Threadpublic class MyThread extends Thread{ @Override public void run() { System.out.println(Thread.currentThread().getName()+"......run called......"); } public ...

2019-10-06 15:14:14 101

原创 多线程的概述和状态(传智播客)

一.概述1.进程在一个操作系统内,可单独执行的程序都可称之为进程。或者是操作系统给将要运行的程序分配的内存空间。2.线程一个进程内负责代码执行的控制单元或者执行路径。3.多线程一个进程拥有多条执行路径称之为多线程。一个进程至少有一个线程。4.线程任务每一个线程都有需要执行的代码称之为线程任务。5.为什么使用解决代码可以同时执行(线程执行是依赖cpu在线程间快速、随机切换完成的...

2019-10-06 15:12:31 153

原创 9.IO流(传智播客)

1.编码public static void main(String[] args) throws UnsupportedEncodingException { String str = "慕课ABC"; byte [] bytes = str.getBytes("utf-8"); for(byte demo:bytes){ System.out.println(Integer.toH...

2019-10-06 13:49:26 180

原创 8.反射(传智播客)

1.简介能够动态获取对象的所有信息以及调用对象方法的功能称之为反射。2.使用案例public class Student { private String name; int age; public Student(String name, int age) { this.name = name; this.age = age; ...

2019-10-06 13:48:45 105

原创 7.泛型(传智播客)

1.简介JDK5.0以后用泛型来接收类需要操作的引用数据类型,当引用的类型不确定时就使用泛型。泛型技术是给编译器使用的,编译器在检查完后,生成的.class文件中不带泛型,原因是泛型是jdk5.0以后出现的技术,类加载器不能识别,这叫做擦除。在运行过程中,又带有泛型,原因是类加载器获取.class字节码文件中运行时类中的数据类型,进行类强制转换,这叫做泛型补偿。2.泛型类public cl...

2019-10-06 13:47:58 95

原创 6.集合(传智播客)

1.简介变量是用来存放数据的容器。对象是用来封装不同数据的。集合是用来存放对象的容器。2.集合体系List(有序,可重复)ArrayList优点: 底层数据结构是数组,查询快。缺点: 线程不安全,增删慢LinkedList优点: 底层数据结构是链表,增删快。缺点: 线程不安全,查询慢Set(唯一)HashSet底层数据结构是哈希表。(无序,唯一)如何来...

2019-10-05 17:04:12 171

原创 5.异常(传智播客)

一.简介程序在运行过程中难免会遇到不正常的情况,比如内存溢出、堆栈溢出、类型转换错误等,java把这些问题用对象进行了封装,帮助我们定位问题。如控制台显示Exception in thread "main" java.lang.StackOverflowError at ErrorAndException.throwError(ErrorAndException.java:5) at Er...

2019-10-05 17:03:02 122

原创 4.常用对象API(传智播客)

1.ObjectObject类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现。Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入。Object类没有定义属性,一共有13个方法,今天要介绍的是常见的4个非线程方法。pub...

2019-10-05 17:02:28 260

原创 3.面向对象(传智播客)

一.简介1.面向过程和面向对象面向过程:解决问题时关注动作,将动作用函数封装起来,然后再一一调用。面向对象:解决问题时关注对象,因为对象包含了特征和功能,找到对象即找到了功能。2.类类是用来描述对象的,是对对象共性内容的抽象。3.对象世界万物皆对象,对象是包含属性和方法的实例。如:小明 男 21岁 吃饭 打篮球小红 女 20岁 吃饭 跳舞4.类和对象的关系类是用来描述对象...

2019-10-05 16:58:39 153

原创 2.控制结构(传智播客)

1.顺序结构2.选择结构if elseswitchpublic static void main(String[] args) { System.out.println(fun(2));}private static String fun(int i) { String str = ""; switch(i){ case 1: ...

2019-10-05 16:57:33 98

原创 1.语言基础(传智播客)

1.关键字java赋予一些单词以java含义,这些单词只能为系统使用,称之为关键字。保留字是保留下来还未使用的关键字。2.标识符由字母、数字、下划线和$组成的可以用来表示变量名、方法名和类名的。开头不能是数字。不能含有标点符号和空格。不能是关键字。3.注释单行注释多行注释//这是一行单行注视/** * 这是一个多行注视 **/4.常量在程序运行过程中,值...

2019-10-05 16:55:39 74

原创 show index from table_name返回列解释

show index from table_name这个命令有助于诊断性能低下的查询,尤其是查询是否使用了可用的索引。下面介绍下 这个命令显示的结果列的含义Table:表的名称。Non_unique :如果索引不能包括重复词,则为0。如果可以,则为1。Key_name:索引的名称。Seq_in_index: 索引中的列序列号,从1开始。Column_name :列名称。Collat...

2019-09-12 10:30:55 565

原创 7.Spring的定时任务

1.使用注解方式注册任务<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xm...

2019-06-14 08:50:46 168

原创 6.事务管理(慕课网)

1.概念事务是指逻辑上的一组操作,这些操作要么同时执行成功,要么同时执行失败。2.特性原子性一致性隔离性永久性3.接口介绍Spring为事务管理提供了3个高层抽象的接口。平台事务管理器(PlatformTranctionManager):为不同的持久层框架提供了具体的实现类。事务定义(TransactionDefinition):定义事务的隔离级别以及事务传播特性等信息。...

2019-06-09 20:20:47 364

原创 8.日期操作

1.增加或者减少时间间隔select date_add(now(), interval 1 day); select date_add(now(), interval 1 hour); select date_add(now(), interval 1 minute); select date_add(now(), interval 1 second);select dat...

2019-05-17 12:33:25 84

原创 8.Filter(传智播客)

1.简介过滤器是用于拦截客户端的请求,完成预处理或者后处理等特殊的操作。分IP统计访问次数粗粒度权限管理全站编码处理2.Filter接口的生命周期方法(与Servlet很像)init(FilterConfig filterConfig):在项目启动成功后由服务器创建Filter对象,然后立即执行该方法完成初始化。doFilter(ServletRequest req,Servl...

2019-04-18 14:06:13 93

原创 7.Listener(传智播客)

1.简介Listener是一个接口,主要用于监听三大域的创建、销毁以及属性的变更,监听器可以在事件发生前后做一些处理。2.常用场景统计在线人数页面访问量的统计应用启动时完成信息初始化工作3.创建与销毁public class MyServletRequestListener implements ServletRequestListener { @Override ...

2019-04-17 16:50:11 93

原创 6.HttpSession(传智播客)

1.简介由javaWeb提供,用来进行会话跟踪的是Servlet的三大域之一,因此也有getAttribute、setAttribute、removeAttribute方法

2019-04-16 21:49:17 176

原创 5.Cookie(传智播客)

1.简介Cookie是在服务端创建,发送到客户端保存下来,然后在浏览器下一次请求的时候带上交给服务端进行校验。一个Cookie最大4KB服务器端最多保存20个Cookie客户端做多保存300个Cookie2.用途跟踪客户端状态保存购物车信息(不能使用request,因为购物车是一个用户向服务器发送的多个请求)显示上一次登录名3.使用向浏览器设置Cookie:respo...

2019-04-15 18:56:40 103

原创 4.Request(传智播客)

1.常用API获取客户端IP:getRemoteAddr()获取请求方式:getMethod()获取请求头:getHeader(),getIntHeader(),getLongHeader()protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, I...

2019-04-14 17:11:58 137

原创 3.Response(传智播客)

1.服务器处理请求过程服务器每接收到一个请求,服务器就会创建一个request对象来封装请求数据,并且服务器也会创建一个response对象,然后服务器传递这2个参数到Servlet的生命周期方法service中,service方法完成参数的强制转换,转换为HttpServletRequest和HttpServletResponse之后,调用非生命周期service方法,在里面获取请求的方法,然...

2019-04-12 15:08:46 113

原创 2.ServletContext(传智播客)

1.简介服务器会在项目启动时创建一个ServletContext对象,在服务器关闭时销毁该对象,它的作用是在整个应用之间共享数据。2.获取ServletContext对象ServletConfig的getServletContext()GerericServlet的getServletContext()HttpSession的getServletContext()ServletCon...

2019-04-11 17:38:49 80

原创 1.Servlet(传智播客)

1.为什么使用servletservlet是运行在web服务器上的java程序(是什么),可以对来自浏览器或者其他http客户端的请求进行处理。前提是需要把servlet对象部署到web容器中。2.servlet的架构3.Servlet 包Java Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。Servlet 可以...

2019-03-09 17:14:37 187

原创 1.单实例安装(Windows版)

1.安装JDK环境和配置环境变量,已安装的在cmd中输入java –version检验,会有如下输出2.官网下载需要的es版本并解压,主目录如下3.运行cmd,进到es的bin目录下,输入以下命令进行es服务安装elaselasticesearch.bat运行es,此时主目录会生成data和log文件夹且es会在启动运行中4.将es安装成windows的服务service ...

2019-02-21 17:59:11 163

Java并发编程的艺术

并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编程进行了为深入和透彻的阐述。 作者:爱你多啦梦 链接:https://www.jianshu.com/p/c17fd7817ddf 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

2019-04-10

Java程序员修炼之道

本书分为四部分,第一部分全面介绍Java 7 的新特性,第二部分探讨Java 关键编程知识和技术,第三部分讨论JVM 上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍Java 7 的新特性入手,本书涵盖了Java 开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了JVM 上的非Java 语言,并详细讲解了多语言项目, 特别是涉及Groovy、Scala 和Clojure 语言的项目。此外,书中含有大量代码示例,帮助读者从实践中理解Java 语言和平台。

2019-04-10

Spring技术内幕

《spring技术内幕:深入解析spring架构与计原理(第2版)》是国内唯一一本系统分析spring源代码的著作,也是spring领域的问鼎之作,由业界拥有10余年开发经验的资深java专家亲自执笔,java开发者社区和spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,结合spring的最新版本对过时的内容进行了更新,并增加了大量新内容,使本书更趋近于完美。

2019-04-10

Maven实战(机械出版社)

本书是国内第一本公开出版的Maven专著。它内容新颖,基于最新发布的Maven 3.0,便于正在使用Maven 2.x版本的用户能更好地理解。本书它内容全面,以从专家的角度阐释Maven的价值开篇,全面介绍了Maven的安装、配置和基本使用方法,以便于初学者参考;详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有选择性的阅读;扩展性地讲解了如何Maven和Archetype插件,这部分内容对需要编写插件扩展Maven或需要编写Archetype维护自己的项目骨架以更便于团队开发的读者来说尤为有帮助。它实战性强,不仅绝大部分知识点都有相应的案例,而且本书还在第4章设计了一个背景案例,后面的很多章节都是围绕这个案例展开的,可操作性极强。

2019-02-16

Git权威指南

git权威指南》是git领域的集大成之作,是一本关于git的百科全书,在广度、深度和实战性上让同类作品望尘莫 及。作者是国内顶尖的版本控制专家和咨询顾问之一,本书得到了git官方维护者junio c hamano和iteye创始人范凯(robbin)先生等数位专家的高度认可和极力推荐,权威性毋庸置疑。

2019-02-16

零基础学Java(第2版)

本书主要介绍Java语言编程的入门知识。全书共分为七大部分,第一部分是编程知识。第二部分主要是介绍Java程序的一些特点。第三部分主要是介绍一些编程需要用到的数据结构方面的知识。第四部分主要是介绍Java的一些应用设计。如线程、异常、内存机制。第五部分主要是介绍数据库的开发,在这一章中还例外的介绍了XML方面的知识。第六部分主要是介绍了如何进行图形开发,包括了Swing类库的图形开发。第七部分将会总和前面的一些知识,举出两个综合实例。

2019-02-16

空空如也

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

TA关注的人

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