- 博客(17)
- 收藏
- 关注
原创 SpringBoot项目打包成可执行jar
SpringBoot项目打包后会在target目录下生成可执行jar包使用java -jar方式可运行解压后层次结构说明:1.BOOT-INF其下两部分classes下是工程当中资源文件包括代码文件编译好之后的结果lib下是系统应用所依赖的第三方jar包2.META-INF下包含一份清单文件MANIFEST.MF,里面包含两个关键信息Start-Class(当前系统当中包含main方...
2019-12-27 20:31:57 883 1
原创 git重要命令讲解
git rm --cached xxx:将xxx文件从暂存区回到已修改的状态 (暂存区->工作区)Git的提交id(commit id)是一个摘要值,这个值实际上是个sha1计算出来的对于user.name与user.email来说,有三个地方可以设置/etc/gitconfig (几乎不会使用)~/.gitconfig (针对用户而言,表示所有项目均使用该信息)针对于特...
2019-11-12 11:47:03 193 1
原创 Netty回调与Channel执行流程分析
这和我们通常所理解的完全一致,整个HTTP请求从发起到连接断开!我们使用浏览器端发起请求去看看有什么不同因为curl是一个完整的网络命令工具,请求完之后连接便关闭,服务器端会接受到相应通知浏览器端基于HTTP1.1的请求会有一个keepalive这样的一个时间,如果在这个时间内客户端没有再发送新的请求的话,服务器端会主动的把连接给关闭;HTTP1.0的话便是个短连接协议,请求发过来之后...
2019-11-08 13:07:56 322 1
原创 Netty程序的流程分析
一、几乎每一个netty程序的流程都是这样的!二、提供channel通道处理器三、通道处理器在相应的回调方法中定义输出结果:Hello World注意:事件循环组是死循环,需要强制关闭退出,继续来看!使用浏览器发起请求的话请求发起了两次,多出来的一次请求是对网站的图标进行请求...
2019-11-07 21:25:09 214 1
原创 使用IDEA 2019.2.3版本遇到的问题
基于JAVA SpringBoot2.0.4的项目,发部后项目发部后,放到OpenJDK环境中运行时,提示下列错误:2019-10-22 10:03:55 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframew
2019-11-01 18:37:15 2044 7
原创 Lambda表达式与函数式接口
Lambda表达式的基本结构:(param1,param2,param3) -> {}关于函数式接口:1、如果一个接口只有一个抽象方法,那么该接口就是一个函数式接口2、如果我们在某个接口上声明了FunctionalInterface注解,那么编译器就会按照函数式接口的定义来要求该接口3、如果某个接口只有一个抽象方法,但我们并没有给该接口声明FunctionalInterface注...
2019-09-19 23:44:17 126 1
原创 类加载器
自己定义一个类加载器首先,我们知道通常情况下我们的类是JVM虚拟机从本地文件系统中进行加载的,从classpath环境变量所定义的目录当中去加载类,当然也有通过网络或者应用本身所构建出来的(动态代理)类,这里分为两个步骤,第一步是将字节数组转换成class类对象,第二步是用Class.newInstance...
2019-09-04 18:21:40 116 1
原创 接口的初始化规则
在JVM类加载这篇文章中,已经确定一个类在初始化时必须先行初始化其父类(如果有),我们接着来看接口的初始化,我们明白接口中的成员属性都是public static final修饰的,例子中省略不写!!!结论:当一个接口在初始化时,并不要求其父接口都完成了初始化操作,实际上上图中也可以将子接口的class文件删除掉,上面讲过接口默认就是被final修饰的,也就是说int b所确定的值2会在编译时...
2019-09-02 19:19:38 4529 2
原创 编译期常量与运行期常量
运行期常量:解释说明:当一个常量的值并非编译期间可以确定的,那么其值就不会被放到调用类的常量池中,这时程序在运行时会导致主动使用这个常量所在的类,显然会的 导致该类的初始化操作没啥可说的,创建了该类的实例属于七种主动使用情况中的一种,导致了该类的初始化,再不厌其烦的提下,第一次主动使用才会导致类的初始化,类的初始化只会执行一次!如下!我们继续再来看:结论:对于数组实例来说,其类型是...
2019-09-01 17:43:19 403 1
原创 JVM参数及常见助记符
JVM参数三种类型:-XX:+,表示开启option选项-XX:-,表示关闭option选项-XX:=,表示将option选项的值设置为value正如之前用过**-XX:+TraceClassLoading**便是开启这个选项(类加载信息)...
2019-09-01 12:51:29 228 2
原创 JVM类加载
JVM类加载过程与步骤的一些细节首先,你需要知道:在Java代码中,类型的加载、连接与初始化过程都是在程序运行期间所完成的。好处:提供了更大的灵活性,增加了更多的可能性。Java虚拟机与程序的生命周期如下几种情况,Java虚拟机将结束生命周期:执行了System.exit()方法程序正常...
2019-09-01 00:51:31 115 1
原创 Zookeeper与Dubbo
## 笔记整理一、Zookeeper首先Zookeeper是一个分布式应用程序协调服务(自身),为分布式应用提供一致性服务的软件。提供功能包括:配置维护、域名服务、分布式同步、组服务等(存储数据和监听服务)集群机制:半数存活机制(集群节点最好...
2019-06-23 15:24:38 3170 1
原创 Redis
##相关知识点整理一、概念Redis是一个开源的,内存中的数据结构存储系统,可用作数据库、缓存和消息中间件。在Linux系统安装将配置文件redis.conf中daemonize no改为yes让服务在后台启动。Redis中五大数据类型:String、List、Hash(存...
2019-06-16 14:09:30 91
原创 一些笔记整理
## 随笔1.深度克隆和浅克隆的区别浅克隆只是拷贝本对象,其对象内部的数组、引用对象等都不拷贝,还是指向原生对象的内部元素地址深复制把要复制的对象所引用的对象都复制了一遍浅克隆实现:被克隆的对象必须实现Cloneable,Serializable这两个...
2019-06-02 16:02:01 113 1
原创 spring框架之IOC与AOP
动态代理机制+反射(重点)一个接口,一个类,是实现动态代理的核心!!!InvocationHandler接口invoke方法(可以调用被代理对象方法,也可以调用代理方法)Proxy 类 (newProxyInstance方法就是创建一个代理类对象)loader:类加载器 interfaces:接口 ...
2019-06-02 00:24:05 124 1
原创 小白的JAVA基础笔记
**第二周** 一、循环语句:反复执行特定的代码块1. 循环语句的格式:1.初始化条件;关键字(2.循环条件语句){3.循环体语句;}2.循环语句的四要素:1.初始化条件2.循环条件语句3.循环体语句4.控制条件语句...
2019-03-11 19:26:12 191 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人