自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是二层隔离三层互通?

二层隔离就是通过子网和VLAN或者VXLAN技术对主机进行隔离,具有减少之间的广播,限制攻击的好处。但是主机间又不能不互通,所以要通过三层路由的方式进行通信;二层隔离就是不做VLAN或者VXLAN间的路由。三层互通就是之间做了VLAN和VXLAN之间路由。通常,普通的交换机只工作在数据链路层上,路由器则工作在网络层。而功能强大的三层交换机可同时工作在数据链路层和网络层,并根据MAC地址或IP地址转...

2019-06-23 22:05:00 21658

原创 VLAN和VXLAN的讲解

VLAN·概况     VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。当交换机接入较多的终端时,任意一台终端发送广播报文时(例如:ARP请求),报文都会传遍整个网络...

2019-05-21 22:27:39 1010

原创 Spring注解中Configuration和Bean的使用讲解

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。注意:@Configuration注解...

2019-03-28 11:05:12 492

原创 maven中scope的范围

<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1&a

2019-03-18 19:11:44 3393

原创 Spring源码中容器的基本实现

使用XmlBeanFactory容器来加载容器中Bean的过程在Spring源码中XmlBeanFactory.java

2018-12-19 11:09:18 141

原创 Spring中BeanFactory和FactoryBean的区别

BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 ApplicationContext接口,它由BeanFactory接口派生而来,ApplicationContext包含BeanFactory的所有功能,通常建议比BeanFa...

2018-12-18 20:48:24 778

转载 为什么HashMap集合的初始大小是16?

如果两个元素不相同,但是hash函数的值相同,这两个元素就是一个碰撞因为把任意长度的字符串变成固定长度的字符串,所以存在一个hash对应多个字符串的情况,所以碰撞必然存在为了减少hash值的碰撞,需要实现一个尽量均匀分布的hash函数,在HashMap中通过利用key的hashcode值,来进行位运算公式:index = e.hash & (newCap - 1)举个例子:1.计...

2018-12-17 16:40:17 3394 1

原创 链表的初始化以及查找链表中倒数第k个节点的值

public class LinkedList { public static class Node { int value; Node next; public Node(int value) { this.value=value; } } public static Node ...

2018-09-09 19:43:22 216

原创 java中数组与集合的互相转换

最近在刷笔试的编程题,里面很多涉及到了数组与集合的相互转换public class ArrayAndList { public static void main(String[] args) { // TODO Auto-generated method stub int arrys []=new int[]{1,2,3,4,5,6}; ...

2018-08-14 16:51:46 208

原创 java中几种常见集合的底层实现原理(HashMap、hashtable、ConcurrentHashMap)

一、HashMap的底层数据结构叙述: (1)实现Map集合; (2)底层数据结构是数组链表结构,数组的初始容量是16,每次扩容的大小是上一次的2倍 源码中是capacity <<= 1,所以每次扩容后的容量是上一次的两倍; (3)不允许null的key和null的value,如果出现null的key和null会报出异常的现象; (4)HashMap的存储,先计算key的ha...

2018-08-13 11:10:29 1044

原创 数据结构中几种排序的java实现

1. 选择排序 “` public static int[] selectSort(int[] arrys){ int high=arrys.length; for(int i=0;i **2. 冒泡排序**public static int[] bubbleSort(int[] arrys){ for(int i=0;i<arr...

2018-08-12 17:02:25 378

原创 java实现二叉树的三种遍历(前序、中序、后序)

话不多说直接上代码,一切尽在代码中:public class BinTree { private Node root; private List<Node> list=new ArrayList<Node>(); public BinTree(){ Node x=new Node("X",null,null); ...

2018-08-12 15:15:15 3431 1

转载 java中的动态代理机制

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。 在java的动态代理机制中,有两个重要的类或接口...

2018-08-10 09:58:25 111

原创 hashtable和HashMap对null key 、null value 的支持

在一篇博客里看到的,这一块讲解的很好,所以截图啦

2018-08-04 14:55:07 1685

原创 java中多线程的几种状态

总结:新建状态、就绪状态、运行状态、阻塞状态、死亡状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.start();),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立...

2018-08-03 14:28:15 165

原创 Java虚拟机的类加载机制

一、类的生命周期: 类的生命周期包括:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析又称连接。 加载:通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。验证: 需要注意几个验证阶段 1. 第一...

2018-07-29 22:01:45 115

原创 JVM 的垃圾回收算法

一、那些对象是可以回收的 1、使用标记计数法**:给对象添加一个引用计数器,每当一个有一个地方引用它时,计数器就加1,当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。这时就存在一个问题,如果有两个对象,A对象调用B对象,B对象调用A对象,他们互相引用着,导致计数器的值不为0,实际上这两个对象已经不可能再被访问,需要进行垃圾回收,所以使用计数法是行不通的。 2、可达性分...

2018-07-28 19:46:21 204

原创 java中SQL注入的讲解

1、 举一个简单的SQL注入攻击的例子: 假如我们有一个users表,里面有两个字段username和password。在我们的java代码中我们初学者都习惯用sql拼接的方式进行用户验证。比如:” select id from users where username = ‘”+username +”’ and password = ‘” + password +”’ ” 这里的userna...

2018-07-26 21:12:42 2328

原创 java语言实现二分查找的两种方法

非递归方法 public static int select(int[] arry,int num){int high=arry.length-1;int low=0;while(low<=high){//这种方式取中间值是为了防止溢出int mid=low+(high-low)/2;if(num<arry[mid]){ high=mid-1;}else ...

2018-07-23 20:35:06 533

原创 MySql事务支持和四种隔离机制

一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A...

2018-07-22 19:59:26 316

原创 SpringMVC的注解配置

SpringMVC得到工作原理: 总结:在SpringMVC的架构下,用户在Web端触发请求,请求会先通过前端控制器DispatcherServlet,然后DispatcherServlet会请求处理器映射器HanderMapping寻求处理该请求的Handler(或者是带拦截器的Handler链),接着DispatcherServlet会根据HanderMapping传来的Handler(或者...

2018-07-22 12:51:28 126

原创 Mybatis的一二级缓存

总述: Mybatis提供一级缓存和二级缓存的机制。一级缓存是SqlSession级别的缓存。在操作数据库时,每个SqlSession类的实例对于对象有一个数据结构(HashMap)可以用于存储缓存数据。不同的SqlSession类的实例对象缓存数据区域(HashMap)是互不影响的。二级缓存是Mapper级别的缓存,多个SqlSession类实例对象操作同一个Mapper配置文件中的SQL语句,...

2018-07-21 16:18:24 95

原创 Mybatis动态代理

Mapper动态代理主要有两方面的要素: 1、配置Maopper.xml文件(sql文件) 2、Mapper.java(接口),其中接口的命名方式就是Mapper.xml中的id命名(也叫statement)主要事项: 1、在Mapper.xml文件中的namepace中的路径是创建Mapper接口代理的路径 2、获取动态代理对象的方法,是通过S...

2018-07-21 10:22:10 142

原创 Mybatis内容的小小总结

在Mybatis中包含了三种基本内容:其中数据源的配置(也就是全局配置文件SQLMapConfig.xml)、Mapper文件(Mapper.java和Mapper.xml)、以及会话工厂和会话(SqlSessionFactory 和SqlSession)。Mapper配置中的输入与输出映射: 输入映射(paramterType):可以是8种基本数据类型和8种基本数据类型的包装类,还...

2018-07-17 21:41:30 230

原创 MySql数据库中的索引的讲解

**索引的分类:1、普通索引和唯一索引 2.、单列索引和组合索引 3、全文索引 4、空间索引 ** 创建索引: 创建表时创建索引: create table table_name(column1 int, colum2 int, colum2 varchar, index(column1)/unique index (cloumn1)/ index singleidx(co...

2018-07-15 17:27:56 150

原创 MySql数据库的两大引擎的讲解

Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,MySQL运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎不支持FULLTEXT类型的索引,而且它没有保存表的行数,当SELECT COUNT(*) FR...

2018-07-15 15:51:16 1580 1

原创 线程安全的懒汉式单例模式

在单例模式中分为懒汉式和饿汉式,其中饿汉式是线程安全的,要实现懒汉式线程安全要做双重的判断,其中代码如下: public static Singleton2 getInstance(){ if(instance == null) { synchronized (Singleton2.class){ if (in...

2018-06-10 17:52:29 1010

原创 简单的正则表达式

^ 匹配一行的开头 $ 匹配一行的结尾 () 标记子表达式的开始和结束位置 [ ] 用于确定括号表达式中的开始和结束位置 { } 用于标记前面子表达式的出现频度 * 指定前面子表达式可以出现零次和多次 ? 指定前面子表达式可以出现零次和一次\d 匹配0~9的所有数字 \D 匹配非数字 \w 匹配所有的单词字...

2018-06-05 15:12:18 115

原创 java内存区域讲解

java运行时的数据区分为: 1. 程序计数器 :是线程私有的,是一小块比较小的内存空间,他可以看做是当前线程所执行的字节码行号指示器。 2. java虚拟机栈 :是线程私有的,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法的调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。局部变量表存放了编译期可知的各种数据类型(8大基本数据),对象的引用。 3. ...

2018-05-20 16:01:05 95

空空如也

空空如也

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

TA关注的人

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