自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 markdown设置锚点

当文章的内容过的时候,需要给文章建立目录,可以实现点击目录随意的跳转到对应的内容。此时是使用markdown的锚点的功能。基本的格式为:- [标题名](#给标题取得一个id,一般与标题同名即可)### <a id="给标题取得一个id,一般与标题同名即可">标题名</a>实例如下:测试1测试2测试3测试1dsdfadfadfadffadf...

2019-08-26 13:45:14 2091

原创 String的两种初始化方法

前言:String的创建和初始化有两种方法,既可以用String str = new String("abc")创建一个字符串,也可以用String str = "abc"的形式创建。1: String str = "abc"创建一个字符串的过程首先在常量池(方法区)中查找是否存在内容为"abc"的字符串对象 如果不存在则在常量池中创建一个"abc"的字符串对象,并让str引用该对象...

2018-12-23 15:37:57 8657

原创 springboot常用注释

1:@Qualifier@Qualifier 注释指定注入 Bean 的名称,这样歧义就消除了。所以 @Autowired 和 @Qualifier 结合使用时,自动注入的策略就从 byType 转变成 byName 了。例子如下:有一个接口:public interface EmployeeService { public String getEmployeeById(...

2018-12-14 20:18:44 806

原创 Connection timed out和Connection refused的区别

前言:这两个异常报出的时候,说明客户端没法正常连接到服务端,但是两者还是有区别的。 1:Connection timed out当得到 Connection timed out: connect 的时候表示TCP路由不正常,原因有很多,可能是服务器无法ping通,可能是服务器(防火墙等)丢弃了该请求报文包,也可能是服务器应答太慢,又或者存在间歇性的问题(这种情况很难从日志文件中排查问...

2018-12-01 15:28:29 31777

原创 springboot中事务管理@Transactional

前言:在service层的方法上使用@Transactional 即可实现处理数据库发生错误时触发事务回滚机制。注意:Spring 基于注解的声明式事物 @Transactional 默认情况下只会对运行期异常(java.lang.RuntimeException及其子类)和 Error 进行回滚。 数据库引擎要支持事物,使用InnoDB。 @Transactional 只能被应用...

2018-11-27 10:36:44 167

原创 Java网络通信中ServerSocket的设计优化

前言:在java的网络通信中,两个不同节点的主机想要进行通信则可以通过建立Socket对象(相当于客户端主机,向服务端请求发送信息)和ServerSocket对象(相当于服务端主机,接收客户端的连接请求并回复信息)实现。 1:创建一个Socket对象Socket socket = new Socket("IP",port);指定将要连接的服务端的ip地址和端口号来创建一个Sock...

2018-11-26 14:41:15 716

原创 wait()和notify()的使用

package threadTest.waitAndNotify;/** * @ClassName WaitNotify * @Description TODO * @Author Kikityer * @Date 2018/11/21 21:26 * @Version 1.0.0 **/public class WaitNotify { public static v...

2018-11-23 15:19:59 91

原创 HashTable和HashMap区别

①继承不同。public class Hashtable extends Dictionary implements Map public class HashMap extends AbstractMap implements Map②Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使...

2018-11-22 20:33:28 74

原创 Java多线程(ExecutorService 、Executors、Callable、Future、FutureTask)

前言:我们一般通过继承Thread类重写run方法或者实现runnable接口重写run方法,最后创建和启动一个线程,但是都需要自己创建、启动Thread对象。线程池可以实现帮助我们管理Thread对象,至于要使用几个线程,什么时候启动这些线程,是开启多个线程还是用单个线程来完成这些任务,我们无需操心。Java通过Executors提供四种线程池 newCachedThreadPool...

2018-11-21 19:50:25 468

原创 Java中的random()函数

在java中,有两种random函数java.lang.Math.random java.util.Random一: java.lang.Math.Random在lang包下Mah类中,有个random()函数public static double random()调用Math.random()函数能够返回待正号的double值,该值大于等于0.0且小于1.0,取值...

2018-11-20 15:38:42 471

原创 常用的数据结构

线性表可以采取两种方法来保存,一种是顺序存储结构,另一种是链式存储结构。顺序存储结构的线性表称为顺序表,而链式存储结构的线性表称为链表。1:数组(Array)       数组是一种聚合数据类型,是将具有相同类型的若干变量有序的组织在一起的集合。数组可以说是最基本的数据结构,在各种编程语言中都有对应。一个数组可以分解为多个数组元素,按照数据元素的类型,数组可以分为整形数组、字符型数组、浮...

2018-11-20 12:14:44 215

原创 Java的外部类不能使用private、protected进行修饰

 1.类指外部类,最大的类,修饰符有public(表示该类在项目所有类中可以被导入),default(该类只能在同一个package中使用),abstract,final2.内部类指位于类内部但不包括位于块、构造器、方法内,且有名称的类,修饰符有public,private,protected访问控制符,也可以用static,final关键字修饰,public和private比较简单,一个...

2018-11-16 10:26:04 1839

原创 “==”号和equals的区别/equals的重写

Java中平时总会遇到一些数据的比较,基本类型是否相等比较,引用类型是否相等比较。又经常会遇到“==”和equals,有时候分不清两者的区别。现在在这整理一下。当遇到“==”比较的是基本类型数据时,就是比较两者“值”的大小;当比较的是引用类型时,比较的是变量所指向的对象的地址。 当遇到equals比较时,只能是比较引用类型。同时要是没有重写equals方法,则比较的是对象的地址,要是重...

2018-11-09 17:07:38 166

原创 今天做到的一个错题

题目如下:public class Test { public static void main(String [] args){ System.out.println(new B().getValue()); } static class A{ protected int value; publ...

2018-11-09 09:53:32 131

转载 自定义注解图解

2018-11-07 14:13:34 118

原创 反射相关

1:反射获取Class类的三种方法通过Class的静态方法获取:Class class = Class.forName(“类的路径:包名.类名”) 通过运行时类的对象获取:Person p = new Person();  Class clazz = p.getClass(); 调用运行时类本身的.class属性:Class class = String.class; //String类...

2018-11-07 14:05:41 120

转载 JVM类加载过程

转载请标明出处:http://blog.csdn.net/xuefeng0707/article/details/9132339类加载的全过程分为五个阶段:加载、验证、准备、解析、初始化。1. 加载这个阶段可分为三段:(1)加载二进制字节流根据类的全限定名(包名+类名),获取此类的二进制字节流。虚拟机规范没有指定二进制字节流从哪里读取,可以是class文件,可以是jar,...

2018-11-06 21:09:35 130

原创 Comparable接口

Comparable接口在lang包中,当某个类实现了此接口,则认为这个类的对象之间是可比较的。所有已实现Comparable的类:AbstractChronology , AbstractRegionPainter.PaintContext.CacheMode , AccessMode , AclEntryFlag , AclEntryPermission , AclEntryType ...

2018-11-06 17:18:27 331

转载 C/S模式和B/S模式

1:C/S模式(Client/Server,客户机/服务器模式)是软件系统结构的一种,C/S模式是基于企业内部网络的应用系统,与B/S模式的相比,最大的优点是,不依赖企业外网的环境,无论企业是否能够上网,都不影响应用。服务器通常采用高性能的PC、工作站或者小型机,并采用大型数据库系统,客户端需要安转专用的客户端软件。C/S结构的软件针对不同的操作系统开发不同版本的软件,加之产品更新换代很...

2018-10-31 11:39:25 3762

原创 vue脚手架项目打包记录

记录一下需要打包的过程和和需要修改的配置1:需要修改cinfig文件下的index.js文件中配置信息将assetsPublicPath:'/'  改成 assetsPublicPath:'./' 2:想要访问静态资源需要修改build文件的utils.js文件中的配置信息 if (options.extract) { return ExtractTextP...

2018-10-30 14:49:36 680

原创 springboot项目打成war包记录

背景:现在手上的项目基本进入收尾期,有必要将前后端的项目打成包丢到服务器上的docker进行测试了。springboot默认的打包方式为jar包,jar包的有优点是不需要更改的配置,并且内嵌了tomcat,如果打成jar包直接可以丢到docker中运行测试。但是考虑到前端代码只能打成war包,因此干脆也将后端代码打成war包和前端的代码一起放在tomcat容器中的webapps中运行就好了。...

2018-10-30 14:31:51 4510 1

转载 CDN技术原理

CDN全称Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

2018-10-24 14:27:12 257

原创 IDEA快捷键汇总

 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+Alt+O 优化导入的类和包 (删除标灰的包名)Alt+enter    手动导入包,自动修正  Ctrl+空格   代码提示  Ctrl+Alt+T  生成try catch Ctrl + O 重写方法  Ctrl + I 实现方法 Ctrl+Alt+I  自动缩进  Ctrl+...

2018-10-23 17:32:07 1339

转载 习题

题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。方法一:public class Solution { public String replaceSpace(StringBuffer str) { String str1 = str.toString...

2018-10-23 16:05:17 148

转载 Java包装类自动拆箱和自动装箱习题

 1:如下程序的运行结果是什么Long l1 = 128L;Long l2 = 128L;System.out.print(l1 == l2); //1System.out.print(l1 == 128L); //2Long l3 = 127L;Long l4 = 127L;System.out.print(l3 == l4); //3System.out.print(...

2018-10-22 15:39:18 628

原创 NIO buffer和channel

1:buffer类没有提供构造器,通过如下的方法来得到一个Buffer对象:static XxxBuffer allocate(int capcacity)2:所有的Channel都不应该通过构造器来直接创建,而是通过传统的节点InputStream、OutputStream等的getChannel()方法来返回对应的Channel,不同的节点流获得的Channel不一样。程序不能直接和访问...

2018-10-18 15:35:57 326

原创 NIO buffer中clear、compact方法的区别

调用clear()方法:position将被设回0,limit设置成capacity,换句话说,Buffer被清空了,其实Buffer中的数据并未被清除,只是这些标记告诉我们可以从哪里开始往Buffer里写数据。如果Buffer中有一些未读的数据,调用clear()方法,数据将“被遗忘”,意味着不再有任何标记会告诉你哪些数据被读过,哪些还没有。如果Buffer中仍有未读的数据,且后续还需要这些数...

2018-10-18 11:20:56 2320

转载 NIO buffer中的flip方法

在Java NIO编程中,对缓冲区操作常常需要使用  java.nio.Buffer中的 flip()方法。 Buffer 中的 flip() 方法涉及到 Buffer 中的capacity、position、limit三个概念。capacity:在读/写模式下都是固定的,就是我们分配的缓冲大小(容量)。 position:类似于读/写指针,表示当前读(写)到什么位置。 limit:在写...

2018-10-18 10:17:04 195

原创 throw和throws的区别

1:throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)   调用者必须做出处理(捕获或继续抛出)2:throws可以单独使用,但throw不能, throw要么和try-catch-finally语句配套使用,要么与throws配套使用。但throws可以单独使 用,然后再由处理异常的方法捕获。3:throws主要是声明这个方法会抛出这种类型的异常,使其他...

2018-10-18 09:36:43 815 1

转载 java序列化

一、基本概念1、什么是序列化和反序列化(1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程;(2)序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。序列化后的字节流保存了Java对象的状态以及相关的描述信息。序列化机...

2018-10-17 15:13:00 180

转载 java多态理解

 指向子类的父类引用由于向上转型,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,尽管是重载该方法。若子类重写了父类中的某些方法,在调用该些方法的时候,必定是使用子类中定义的这些方法(动态连接、动态调用)。public class Wine { public void fun1(){ System.out.printl...

2018-10-16 21:09:05 80

转载 知识点整理2:Java内存模型

原子性、内存可见性、重排序、顺序一致性、volatile、锁、final一、原子性原子性操作指相应的操作是单一不可分割的操作。例如,对int变量count执行count++d操作就不是原子性操作。因为count++实际上可以分解为3个操作:(1)读取变量count的当前值;(2)拿count的当前值和1做加法运算;(3)将加完后的值赋给count变量。在多线程环境中,非原子操作可能...

2018-10-16 19:05:20 65

原创 知识点整理1:JVM内存结构

 JVM把内存分为如下几个区域:1.方法区(Method Area)2.堆区(Heap)3.虚拟机栈(VM Stack)4.本地方法栈(Native Method Stack)5.程序计数器(Program Counter Register) 一:方法区 (Method Area)方法区存放了要加载的类的信息(如类名、修饰符等)、静态变量、构造函数、fin...

2018-10-15 20:46:55 97

转载 Java计数排序原理

java计数排序实现的条件给定的数据是整数类型 给定数据值的本身大小有一定的限制(值不能太大)例如:2、3、5、0、1、5、9、1、4、6每个数都是整数且数的值大小为0-9之前,最大值为9假如给定一个数组A,如下:算法实现过程:1:上面数组中最大的数为5,所以我们要构造一个大小为6的数组。里面存下所有对应A中每个元素之前的元素个数。初始化一个大小为(k+1)的...

2018-10-15 11:01:03 166

转载 Java多线程

进程和线程的概念:进程:一个进程对应一个应用程序。例如:在 windows 操作系统启动 Word 就表示启动了一个 进程。在 java 的开发环境下启动 JVM,就表示启动了一个进程。现代的计算机都是支持多进程的,在同一个操作系统中,可以同时启动多个进程。线程:线程是一个进程中的执行场景。一个进程可以启动多个线程。电脑cpu可以处理多个运行的进程,这就类比于一个进程可以同时处理多个...

2018-10-13 16:58:13 65

转载 Java中的对象与垃圾回收机制

对象在内存中的状态当一个对象在堆内存中运行时,根据它被引用变量所引用的状态,可以把它所处的状态分为如下三种。可达状态:当一个对象被创建之后,若有一个以上的引用变量引用它,则这个对象在程序中处于可达状态,程序可以通过引用变量来调用该对象的实例变量和方法。 可恢复状态:如果程序中某个对象不再有任何引用变量引用它,他就进入可恢复状态。在这种状态下,系统的垃圾回收机制准备回收该对象所占有的内存...

2018-10-13 09:58:35 130

转载 String的初始化

需要知道 String a = "abd"; 和String b = new String();的区别。 要明确每次只要new一次堆内存就会开辟一个新的内存地址。 可以使用intern()方法手动将new出来的对象丢到字符串常量池中。 public class StringDemo { public static void main(String[] arg...

2018-10-12 17:05:24 4401

原创 确保WEB安全的HTTPS

HTTP的缺点和不足通信使用的是明文(不加密),内容可能会被窃听; 不验证通信方的身份,因此有可能遭遇伪装; 无法证明报文的完整性,所以有可能已遭遇篡改;通信的加密:HTTP协议没有加密机制,但可以通过和SSL(Secure Socket LAyer,安全套接层)或者TLS(Transport Layer Security,安全传输层协议)的组合使用,加密HTTP的通信内容。用SSL建...

2018-10-12 15:26:21 157

转载 HTTP报文首部

 http报文结构 报文首部 (空行) 报文主体 请求报文中的报文首部 请求行(方法、URI、HTTP版本) 请求首部字段 通用首部字段 实体首部字段 其他 响应报文中的报文首部 状态行(HTTP版本、状态码) 响应首部字段 通用首部字段 实体首部字段 其他        在报文众多的字段中,HTTP首部字段包含的信...

2018-10-12 14:59:12 1259

转载 http状态码详解

状态码类别   类别 原因 1xx 信息性状态码 接收的请求正在处理 2xx 成功状态码 请求正常处理完毕 3xx 重定向状态码 需要进行附加操作以完成请求 4xx 客户端错误状态码 服务器无法处理请求 5xx 服务端错误状态码 服务器处理请求出错  200 OK:客户端 发来的请求在服务器端被正...

2018-10-10 21:23:36 139

空空如也

空空如也

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

TA关注的人

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