- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 liunx必知必会(1)
一.liunx目录结构:(1)/bin中 - 用户二进制文件 包含二进制可执行文件。 在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。 (2)/sbin目录 - 系统二进制文件 就像/bin,/sbin同样也包含二进制可执行文件。 但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、
2017-07-26 23:45:04 327
原创 获取指定包下所有自定义注解并提取注解信息
自定义了Controller和RequestMapping两个注解,先去扫描加了@Controller注解的类,接着扫描这些类下面加了@RequestMapping注解的方法,然后通过Java的反射invoke方法去调用加了RequestMapping注解的方法并输出注解上的信息。annotation包下面自定义了两个注解。Controller.java:package annotationTest
2017-06-02 15:55:06 17765 2
原创 springBoot配置devtools实现热部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。devtools的原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader
2017-05-09 19:56:36 705
原创 SpringBoot 读取配置文件及profiles切换配置文件
读取核心配置文件核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。先创建一个简单的springBoot程序,可以参考: http://www.cnblogs.com/lspz/p/6344327.html一、通过@value注解来读取核心配置文件application.pr
2017-05-09 18:24:11 1426
原创 SpringBoot Logback日志配置
Logback的配置介绍:1、Logger、appender及layoutLogger作为日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。Appender主要用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、 MySQL、 PostreSQL、 Oracle和其他数据库、 JMS和远程UNIX Syslog守护进程等。 La
2017-03-03 17:53:12 383
原创 JDK1.8 HashMap 源码分析
一、HashMap概述: HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。二、HashMap数据结构: 说明:上图很形象的展示了HashMap的数据结构(
2017-02-16 17:28:39 302
原创 JVM内存管理---垃圾收集器
一、内存模型作为Java开发人员来说,并不需要像C/C++开发人员,需要时刻注意内存的释放,而是全权交给虚拟机去管理,那么有就必要了解虚拟机的运行时内存是如何构成的。运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区,在方法区内有一个常量池。(1)线程私有区:程序计数器,记录正在执行的虚拟机字节码的地
2017-02-13 15:37:58 251
转载 jvm内存模型
作为Java开发人员来说,并不需要像C/C++开发人员,需要时刻注意内存的释放,而是全权交给虚拟机去管理,那么有就必要了解虚拟机的运行时内存是如何构成的。运行时内存模型,分为线程私有和共享数据区两大类,其中线程私有的数据区包含程序计数器、虚拟机栈、本地方法区,所有线程共享的数据区包含Java堆、方法区,在方法区内有一个常量池。
2017-02-10 15:49:41 194
原创 类加载器与双亲委派模型
一 类加载器基本概念:顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。通过一个类的全限定名(包名与类名)来获取定义此类的二进制字节流(Class文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java 类。通过此实例的 newInstance()方法就可以创建出该类的一个对象。
2017-02-10 14:27:16 450
原创 JVM如何加载一个类的过程
类的加载过程Java源代码被编译成class字节码,JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resoluti
2017-02-08 18:16:06 576
原创 SpringBoot中AOP的配置
AOP目的: 面向切面编程(aspect-oriented programming,AOP)主要实现的目的是针对业务处理过程中的切面进行提取,诸如日志、事务管理和安全这样的系统服务,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。简单例子:1、在浏览器中打开http://start.spring.io/,如图点击“Switch to the full versio
2017-02-04 11:23:33 20507 3
原创 快速搭建Spring Boot项目
Spring boot是Spring推出的一个轻量化web框架,主要解决了Spring对于小型项目饱受诟病的配置和开发速度问题。Spring Boot 包含的特性如下:创建可以独立运行的 Spring 应用。 直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。 提供推荐的基础 POM 文件来简化 Apache Maven 配置。 尽可能的根据项目依赖来自动配置 Spri
2017-01-23 15:56:10 1044
原创 自己简单实现Spring Ioc
IoC则是一种 软件设计模式,简单来说Spring通过工厂+反射来实现IoC。原理简单说明: 其实就是通过解析xml文件,通过反射创建出我们所需要的bean,再将这些bean挨个放到集合中,然后对外提供一个getBean()方法,以便我们获得这bean。 通俗来讲就如同婚姻介绍所,只需要告诉它找个什么样的女朋友,然后婚介就会按照我们的要求,提供一个mm,如果婚介给我们的人选不符合要求,我们就会抛
2017-01-03 14:58:19 410 1
原创 java中动态代理的实现
动态代理的实现使用的模式:代理模式。 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。类似租房的中介。两种动态代理: (1)jdk动态代理,jdk动态代理是由Java内部的反射机制来实现的,目标类基于统一的接口(InvocationHandler) (2)cglib动态代理,cglib动态代理底层则是借助asm来实现的,cglib这种第三方类库实现的动态代理应用更加广泛,且在效
2016-12-30 12:12:23 1065 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人