自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jamie_byr

总是懒惰

  • 博客(64)
  • 收藏
  • 关注

转载 servlet相关知识总结

比较好的博客地址:1.Servlet学习笔记(八):过滤器Filter详解2.Servlet学习笔记(九):监听器Listener详解

2018-08-27 18:00:52 251

转载 Maven中pom.xml中<packaging>

转自:https://blog.csdn.net/qq_36569036/article/details/53073782项目的打包类型:pom、jar、war项目中一般使用maven进行模块管理,每个模块下对应都有一个pom文件,pom文件维护了各个模块之间的依赖和继承关系。项目模块化可以将通用的部分抽离出来,方便重用;修改一部分代码不再是build整个项目,缩短了build时间;此外各模块都有...

2018-07-13 11:55:45 16542 1

转载 spring boot注解详解

转载: https://blog.csdn.net/zsq520520/article/details/55261359

2018-07-02 17:55:44 318

转载 谈谈Java中的语法糖

转:https://blog.csdn.net/danchu/article/details/54986442总结的很好

2018-06-05 15:36:02 337

原创 maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...

出现上述问题的原因可能有两个:1、没有先运行父项目的clean和install2、也有可能是本地库的maven版本与远程库maven版本不同,比如我遇到的情况就是原工程运行版本是maven2,而clone到本地后,本地工程默认是maven3,需要修改之后才能编译成功。注意:从远程库中clone的工程需要取消maven工程中的test项才能运行成功。...

2018-06-05 15:10:56 16838 5

转载 JAVA三层架构,持久层,业务层,表现层的理解

转自:https://blog.csdn.net/ljf_study/article/details/64443653SSH: Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Structs属于VC层次,负责界面表现,负责MVC关系的分发。(view:沿用JSP,HTTP...

2018-05-31 16:19:00 8087

转载 在idea中构建第一个mybatisDemo

主要参考:https://www.cnblogs.com/ciscoo/p/6259138.html按照该网页是能过搭建成功的。需要注意的是:上述网页中的数据库名为mybatis,表格名为person。新建maven工程时不需要选择任何其他依赖选项。直接新建简单maven工程即可。...

2018-05-28 10:48:50 335

转载 window安装mysql

转自:https://blog.csdn.net/ct_ts/article/details/79949160基本流程按照上述链接中的教程做就好。需要注意的问题:1、解压的安装包中有可能没有my-default.ini,因此需要自己创建一个my.ini文件,文件内容如下:2、修改密码的过程中可能会出现错误:ERROR 1045 (28000): Access denied for user 'ro...

2018-05-27 14:27:40 216

转载 spring几种注解相关

@Autowired注解与自动装配:https://blog.csdn.net/heyutao007/article/details/5981555@RequestMapping 注解使用技巧:http://www.iteye.com/news/32657SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍:https://bl...

2018-05-14 20:29:03 144

转载 IntelliJ IDEA 个人觉得比较有用的网址

IntelliJ IDEA 激活:https://blog.csdn.net/zx110503/article/details/78734428InteliJ中main函数和System.out.println()快捷键:https://blog.csdn.net/shijiebei2009/article/details/44726433其他有用快捷键:https://www.ggdoc.com...

2018-04-23 21:56:55 511

转载 Mysql面试常问的问题

转自:https://www.cnblogs.com/frankielf0921/p/5930743.html

2018-04-23 11:08:54 1465

转载 线程/进程间的同步机制+进程间的通信方式

转自:https://www.cnblogs.com/mydomain/archive/2010/09/23/1833369.html比较详细的可见:https://www.cnblogs.com/memewry/archive/2012/08/22/2651696.html1、管道(pipe):管道是一种半双工(同一时间只能进行一项操作,即发送数据或接受数据)的通信方式,数据只能单向流动,而且只...

2018-04-22 23:04:14 785

转载 关于JAVA的包访问权限

转载:https://blog.csdn.net/wanghao_0206/article/details/52710094众所周知,JAVA提供了许多级别的访问权限,从而可以精确的控制类、超类以及包中变量和成员的可见性。从而更好的实现封装、继承,多态。现在我们将对每一种包访问权限做一些说明,可能有遗漏或者错误,请大家多多指正。这里我们主要分析类成员的包访问权限。因为类和包的相互影响,对于JAVA...

2018-04-21 11:07:50 270

转载 JAVA中的代码块、静态代码块、构造方法、main方法执行顺序

转载:https://blog.csdn.net/lzxomg/article/details/51858664java中静态代码块,普通代码块,构造代码块区别及代码示例执行顺序:(优先级从高到低)静态代码块&gt;main方法&gt;构造代码块&gt;构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1 普通代码块普通代码块:在方法或语句中出现的{ }就称为普通代码块。普通...

2018-04-19 10:55:59 641

原创 二叉树的遍历(深度遍历+广度遍历)

此处以二叉树的前序遍历为例(即先遍历根节点,再遍历左节点,最后遍历右节点)其他遍历参考:https://www.cnblogs.com/gl-developer/p/7259251.html实现代码如下/*二叉树的递归遍历(前序遍历)1、深度遍历:对于一个节点,一直遍历其子节点,直到节点为null为止。*/public void depthOrderTranversal(TreeNode ...

2018-04-13 21:31:49 227

原创 排序——堆排序

堆排序:根据堆结构的性质,对数组进行排序。堆分为大顶堆和小顶堆,大顶堆是指父节点的值总是大于左右子节点的值,小顶堆是指父节点的值总是小于等于左右子节点的值。数组在进行堆排序时,需要将数组先构造成对应的堆结构,然后根据堆的性质,进行排序。大顶堆的第一个元素都是堆中的最大值,小顶堆的第一个元素都是堆中的最小值。堆排序的时间复杂度是O(nlogn).大顶堆和小顶堆排序的实现代码分别如下,注意,用大顶堆进...

2018-04-10 18:51:33 135

原创 排序——插入排序(InsertSort)

插入排序:通过构建的有序序列,将未排序序列插入有序序列中,从后往前遍历有序序列,找到插入序列的位置。具体操作是:将数组中位置为i的数据arr[i]插入有序序列中,即需要从后往前遍历0~i-1位置上的数,分别比较,找到arr[i]这个数在有序序列中应该放置的位置。依次执行上述操作,直到数据全部有序为止。插入排序的平均时间复杂度为O(n^2),最优时间复杂度为O(n),最差的时间复杂度为O(n^2)。...

2018-04-10 11:12:11 243

原创 正则表达式

正则表达式可以用来操作字符串数据,是通过一些特定的符号来体现的。正则表达式的常见规则: [abc] a、b或c(简单类) [^abc] 任何字符,除了abc [a-zA-Z] a到z或者A到Z [a-d[m-p]] a到d或者m到p [a-z&amp;&amp;[def]] a到z与def之间的交集。 . 任何字符 \d 数字[0-9] \D 非数字[^0-9] \s 空白字符 \S 非空白字符 ...

2018-04-09 22:48:46 185

原创 排序——归并排序(merge sort)

归并排序(merge sort):归并是将两个或者两个以上的有序表合并成一个新的有序表。归并排序使用分而治之的方法进行排序:分解:将待排序的n个元素分解成两个子序列,每个序列包括n/2个元素。治理:对每个子序列分别排序。合并:将两个排序好的子序列合并,生成排序结果。归并排序的最优时间复杂度、最差时间复杂度和平均时间复杂度均为O(nlogn)。归并排序的空间复杂度为O(n)。归并排序多次进行上述操作...

2018-04-08 16:12:37 396

原创 TCP客户端与服务端之间的通信

客户端package cn.itcast.net.p4.tcp;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;public class ClientDemo2 { /** * * @param args *...

2018-04-05 21:24:10 728

原创 UDP客户端与服务端间通信的通信

发送端package cn.itcast.net.p2.udp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import ja...

2018-04-05 21:20:29 229

原创 java的反射机制

java反射机制是在运行状态中,对于任意一个类(class文件),都能够知道这个类的所有属性和方法。对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态获取信息以及动态调用对象的方法的功能成为java语言的反射机制。(动态获取类中的信息,就是java反射,也可以称为对类的解剖)想要对字节码文件进行解剖,就必须要有字节码文件对象。下面介绍三种方法获取字节码文件对象:使用Object类中的ge...

2018-04-05 20:56:22 118

转载 关于JVM面试所必须知道的内容

引自:https://www.cnblogs.com/wbyp/p/7753528.html在Java中主要有以下三种类加载器:    引导类加载器(bootstrap class loader)        --用来加载java的核心库(String,Integer,List......)在jre/lib/rt.jar路径下的内容。使用c代码来实现的,并不继承自java.lang.ClassL...

2018-04-05 20:33:34 2637

原创 对象实例化的过程

一个对象实例化的过程(假设对象是Person):Person p = new Person();jvm会读取指定路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接父类的情况下)在堆内存中开辟空间,分配地址。并在对象空间中,对对象中的属性进行默认初始化。调用对应的构造函数进行初始化。在构造函数中,第一行会先调用父类中的构造函数进行初始化。父类初始化完毕后,再...

2018-04-05 11:50:09 699

原创 HashMap面试题

HashMap和HashTable    1、HashMap是线程不安全的,HashTable是线程安全的。    2、HashMap可以接受null作为键和值,而HashTable不能讲null作为键和值。    3、单线程下,HashTable比HashMap慢,效率低。HashMap和HashSet    1、HashMap是map集合,而HashSet是set集合。    2、HashMa...

2018-04-04 17:23:43 290

原创 TCP为什么请求连接时是三次握手,而终止连接时是四次握手?

TCP请求连接时进行三次握手:第一次握手:客户端给服务端发送SYN(同步信号)信号,请求连接。第二次握手:服务端接收到客户端的SYN信号后,给客户端发送SYN和ACK应答信号,确认连接。第三次握手:客户端收到服务端的应答信号后,给服务端发送ACK信号,确认连接,这样客户端与服务端建立连接。为什么不是两次或者四次握手?    如果两次握手,即客户端发送SYN请求连接信号,服务器接收信号后发送SYN+...

2018-04-04 10:15:42 289

原创 网络编程相关知识点

TCP/IP参考模型:7层协议,从下到上依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。在发送端,数据需要从上到下进行封装,每经过一层,都会在数据包的头文件增加一些信息,而在接收端,数据需要从下到上进行解包装,依次取出包头信息。IP地址(InetAddress):网络中设备的标识,本地回环地址127.0.0.1,主机名localhost。端口号:用于标识进程的逻辑地址,不同进程的...

2018-04-02 23:05:12 285

原创 函数的可变参数

函数的可变参数:即函数的参数类型已知,但是参数的个数是可变的。表现形式如下:public static int newAdd(int... arr){    int sum = 0;    for (int i = 0; i &lt; arr.length; i++) {        sum += arr[i];    }    return sum;}函数的可变参数用"..."表示...

2018-04-02 21:59:10 157

原创 Collections和Arrays工具类

Collections和Arrays都是集合框架中的工具类,方法都是静态的。Collections工具类中常用的方法    Collections.swap(list, i, j):交换集合list中位置i和位置j的元素位置。    Collections.sort(list):按照自然顺序给集合list排序。也可以自定义比较器对集合进行排序,如Collections.sort(list, new...

2018-04-02 21:51:09 441

原创 Map相关

Map:一次添加一对元素。存储的是键值对,且Map集合中必须保证键的唯一性。(Collection一次添加一个元素。)Map称为双列集合,Collection称为单列集合。Map常用的子类有:HashTable:内部是哈希表,是线程安全的,不允许null作为键和值。Properties是一种哈希表,用来存储键值对型的配置文件的信息。HashMap:内部是哈希表,是线程不安全的,允许null作为键和...

2018-04-02 17:06:41 193

原创 泛型(generic)

泛型:jdk1.5出现的安全机制,将运行时期的ClassCastException问题转到了编译时期。避免了强制转换的麻烦。泛型技术用于编译时期,确保了编译安全。适用范围:当操作的引用数据类型不确定的时候,就使用&lt;&gt;。使用时将要操作的引用数据类型传入即可。其实&lt;&gt;就是一个用于接收具体引用数据类型的参数范围。在程序中,只要用到了带有&lt;&gt;的类或者接口,就要明确传入的...

2018-04-01 23:07:04 109

原创 HashSet和TreeSet

Set中元素不可以重复,是无序的(这里无序是指存入元素的先后顺序与输出元素的先后顺序不一致)HashSet:内部的数据结构是哈希表,是线程不安全的。    HashSet中保证集合中元素是唯一的方法:通过对象的hashCode和equals方法来完成对象唯一性的判断。    如果对象的hashCode值不同,则不用判断equals方法,就直接存到HashSet中。    如果对象的hashCode...

2018-04-01 22:25:27 313

原创 Vector、ArrayList和LinkedList

List中元素有序,且是可以重复的。(有序是指元素存入的先后顺序与输出的先后顺序是一致的)Vector    内部是数组数据结构,是线程安全的。是最早出现的list接口(现在几乎不怎么使用)。Vector是百分百延长数组,即新数组的长度是原来数组长度的2倍。ArrayList    内部是数组结构,是线程不安全的。替代了Vector,遇到多线程情况,可以通过加锁来实现线程安全。ArrayList是...

2018-04-01 21:30:31 123

原创 迭代器(Iterator)遍历的两种方法(for和while)

while循环遍历Collection coll = new ArrayList();coll.add("abc1");coll.add("abc2");coll.add("abc3");coll.add("abc4");Iterator it = coll.iterator();while(it.hasNext()){    System.out.println(it.next()...

2018-04-01 20:47:48 21413 3

原创 java的自动装箱与拆箱

java的自动装箱与拆箱是针对基本数据类型而言的。自动装箱:基本数据类型转换为引用类型的数据时会进行自动装箱。自动拆箱:当引用类型的数据与基本类型数据进行运算时会进行自动拆箱。int num = 4;Integer i = 4;//i = new Integer(4);自动装箱i = i + 6;//i = new Integer(i.intValue() + 6);自动拆箱基本数据类型与基本...

2018-04-01 20:08:48 117

原创 java中十进制与非十进制之间的转换

十进制转换为其他进制    1、Integer.toBinaryString(int i):十进制转换为2进制。         Integer.toHexString(int i):十进制转换为16进制。         Integer.toOctalString(int i):十进制转换为8进制。    2、Integer.toString(int i, radix):i为十进制数,radix...

2018-04-01 19:42:44 865

原创 基本类型与字符串之间的转换

基本数据类型转换为字符串    1、基本数据类型值 + ""; int i = 1;String s = i + "";    2、String的静态方法valueOf(基本类型数值)int i = 1;String s = String.valueOf(i);    字符串转换为基本数据类型    1,使用包装类中的静态方法xxx parseXxx("xxx类型的字符串");String s...

2018-04-01 19:07:25 309

原创 String

String的初始化    1、String s = "sncv";        "sncv"存储在字符串常量池中,如果常量池中存在,则不需要创建,直接用就好,如果常量池中不存在,就需要创建。    2、String s = new String("abc");        在堆中创建两个对象,一个字符串对象,一个new对象。String中的equals方法    Object类中的equal...

2018-04-01 16:40:16 147

原创 等待唤醒机制

1、wait()    让线程处于冻结状态,释放执行权,释放执行资格。被wait的线程会被存储到线程池中。2、notify()    唤醒线程池中的任意一个线程。3、notifyAll()    唤醒线程池中的所有线程。上述这些方法都需要定义在同步中,且要明确是哪个锁上的线程。假设当前锁为lock,则上述方法的调用形式是lock.wait(),lock.notify(),lock.notifyAl...

2018-04-01 10:35:04 208

原创 同步代码块、同步函数和静态同步函数

同步代码块的锁可以是任意对象Object obj = new Object();synchronized(obj){ if(num &gt; 0) { try{Thread.sleep(10);} catch(InterruptedException e){}; System.out.println(Thread.currentThread()....

2018-04-01 10:14:21 1570

空空如也

空空如也

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

TA关注的人

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