自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 HTTPS

一、背景:问题:HTTP在数据传输过程中,内容可能被拦截捕获。解决方案:对传输的数据进行加密。就算被黑客捕获到数据,他看到的也是加密后的数据。HTTPS就是HTTP协议+SSL加密合在一起的协议。二、过程:1、对称加密:如何进行数据加密?发起端数据传输需要加密,接收端自然需要解密。加密和解密的密钥一样的叫对称加密;对称加密的性能要好的多,所以在数据传输的过程用的是对称加密。2、非对称...

2019-07-21 17:10:01 48

原创 并发编程2--volatile、synchronized关键字和lock接口

一、volatile关键字并发编程1–并发问题的三个陷阱已经写了,解决可见性问题和有序性问题就可以使用volatile来修饰变量1、保证可见性volatile修饰变量后,该变量的数据更改在操作系统会做两件事情:①、把当前的CPU处理器的缓存中修改后的A变量写回系统内存②、其他CPU缓存了该变量的内存地址里的址无效所以能保证了变量的可见性2、保证有序性可见性问题是通过禁用缓存的方式...

2019-04-14 23:39:28 143

原创 并发编程3--线程通信

线程之间通信一、wait/notifywait/notify是等待通知的组合,以超时回调举例线程A判断回调标志flag,为true,回调成功,根据结果继续往下执行,否则阻塞伪代码: while(!flag){ Thread.sleep(1000); } //continue do something...不足之处...

2019-04-14 23:37:11 63

原创 生产者消费者模式

一、生产者和消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通信,而是通过阻塞队列来进行通信,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。这个阻塞队列就是用来给生产者和消费者解耦的。纵观大多数设计模式,都会找一个第三者出来进行解耦,...

2019-03-31 21:13:25 72

原创 并发编程1--并发问题的三个陷阱

一、什么是并发做饭的时候,你需要洗菜,切菜,烧水,炒菜,作为单核CPU的你,可以选择按照顺序完成这些任务,也可以在烧水的同时洗菜,切菜。对应操作系统,就是CPU在烧水进行的时候不等待(阻塞)水烧好了再做下一步,而是直接去(线程切换)洗菜切菜。好了,并发就是同时进行多件事情的操作(多线程),并发完成任务会更快,CPU利用率更高。二、并发一定更快吗还是烧水这个例子,从烧水到去洗菜的地方,也需要你...

2019-03-30 20:30:05 94

原创 创建线程安全的单例模式

1、饿汉模式–类加载就实例化–线程安全package SingleInstance;/** * 饿汉式单例模式:实例化类就加载实例-天生线程安全 */public class SingleInstance { //私有化构造方法 private SingleInstance(){} //创建实例 private static SingleInstance...

2019-03-30 20:25:09 201

原创 mybatis入门demo

1、mybatis的优点:1.不屏蔽SQL,自己写SQL语句,可以优化性能 2.动态SQL,自己根据不同条件组装SQL,可读性和可维护性高 3.Mapper接口编程,一个接口和一个XML创建映射器。2、四个核心组件:①、SqlSessionFactoryBuilder 根据配置器生成SqlsessionFactory ②、SqlSessionFactory 是一个工厂接口,其...

2018-05-24 16:35:01 169

原创 WORD 毕设页眉页码目录标题 排版

1、实现效果:2、START准备几个标题(1,2,3级标题都有)和正文。①文章标题正文实现:③目录能够根据文章标题更改自动更改目录标题和页码④实现页码和页眉(文章页码和摘要目录页码要分开两节算,因为插入了分节符)1、点击插入–》页眉–》页眉编辑输入 XX大学毕业论文 所有页眉都变化了2、现在编辑页码 ,选择第三页的页码,去掉 链接到前一条页眉3、实现第X页,共Y页效果3、...

2018-03-01 12:09:26 2199

原创 Ajax

目录目录什么是 AJAX AJAX工作原理AJAX实现步骤实例1tomcatjavahtmlJS原生-返回txt文本实例2 JS原生-返回xml文本实例3 Jquery AJAX返回TXT文本1.什么是 AJAX ?AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数...

2018-02-24 19:44:40 142

原创 CAS-overlay 搭建

apache-maven-3.5.2 apache-tomcat-8.5.16 JDK 1.8服务端官方下载:https://github.com/apereo/cas-overlay-template 客户端官方下载:https://github.com/cas-projects/cas-sample-java-webapp 客户端配置官方文档:https://github.com/

2018-02-06 15:23:24 4411

转载 二叉排序树 删除 增加

public class BinarySortTree { /** * 根结点 */ private TreeNode rootNode; /** * 获取rootNode * @return */ public TreeNode getRootNode() {

2017-11-28 21:44:24 211

转载 类加载的三种方式比较

虚拟机加载类的途径 1、由 new 关键字创建一个类的实例 在由运行时刻用 new 方法载入 如:Dog dog = new Dog(); 2、调用 Class.forName() 方法 通过反射加载类型,并创建对象实例 如:Class clazz = Class.forName(“Dog”); Object dog =clazz.newInsta

2017-10-16 10:34:30 4545

原创 如何解决网站大规模并发访问带来的性能下降问题

如何解决网站大规模并发访问带来的性能下降问题:http://blog.csdn.net/lzwglory/article/details/48443031

2017-10-15 22:42:56 352

原创 MYSQL练习-3(from--内连接笛卡尔积)

获取所有非manager的员工emp_noCREATE TABLE `dept_manager` (`dept_no` char(4) NOT NULL,`emp_no` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`dept_no`));CREATE T

2017-10-15 13:26:03 375

原创 MYSQL练习2

查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数tCREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`))S

2017-10-12 11:00:20 175

原创 MYSQL练习1

查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_da

2017-10-11 21:21:23 141

原创 构造方法

在子类继承父类的情况,创建子类对象,是先生成 父类对象再生成子类对象;1.如果父类没有有参构造方法,子类会调用父类的无参构造方法,当然是隐式的,不用写出来,再调用自己的构造方法;2.如果父类有有参构造方法,系统就不会默认创造一个无参的构造方法了,这时,子类需要显示的调用父类的有参构造方法,super();3.构造方法可以调用本类的其他构造方法,this参数,但是必须在构造方法的第一行;

2017-09-27 10:32:14 183

原创 直接插入排序-->希尔排序

插入排序类:直接插入排序:最好情况:O(n)最坏情况和平均情况O(n^2)稳定希尔排序:最好情况:O(n^1.3)最坏情况:O(n^2)平均:O(nlogn)-->O(n^2)不稳定

2017-09-20 21:31:08 138

原创 TCP/IP 四层协议

1、ICMP和IGMP在IP上面,因为两个协议经常用IP协议;而IP协议经常用ARP和RARP2 四种不同的中间设备物理层:转发器(repeater)数据链路层:网桥/桥接器(bridger)网络层:路由器(router)网络层以上:网关(gateway)注:用网关连接两个不兼容的系统时需要再高层进行协议的转换 。在数据链路层和物理层使用中间设备,仅仅是把一个网络扩大了,网路层看来,还是一个网络

2017-09-16 12:52:05 526

原创 MYSQL数据库 初学笔记4-函数

1、库函数:函数查询2、自定义函数:3、储存过程:储存过程

2017-09-15 10:07:57 155

原创 MYSQL数据库 初学笔记3-SELECT

1、SELECT:SELECT column_1, column_2, ...FROM table_1[INNER | LEFT |RIGHT] JOIN table_2 ON conditionsWHERE conditionsGROUP BY column_1WITH ROLLUPHAVING group_conditionsLIMIT offs...

2017-09-13 10:29:20 235

原创 MYSQL数据库 初学笔记2

大括号{}的内容表示是必有的内容 中括号[]表示的是可选的内容 连接符|连接的是任意有一个的内容1、打开数据库 USE {数据库的名字}2、创建数据库 CREATE DATABASE db_name ;3、创建数据表CREATE TABLE table_name(column_name data_type,…)CREATE T...

2017-09-12 20:59:37 211

原创 各种二叉树和查找结构总结

1. 二叉查找树(Binary Sort Tree):又叫-二叉排序树;性质:要不是一颗空树,要不就是一颗左子树<根节点<右子树的二叉树2. 平衡二叉树(AVL树)(Self-Balancing Binary Search或者Height-Balanced Binary Search):二叉树节点的左子树深度减去右子树的值成为平衡因子BF;BF只可能为-1,0,1; 也是一种二叉查找树3. 红黑树

2017-09-10 11:01:11 392

原创 初识动态代理-jdk,CGLIB,拦截器

像代理服务器一样,你想访问真实服务器不直接访问而是通过一个中转站,代理服务器访问; 调用真实对象的一个方法不直接调用,而是通过产生的一个代理对象调用。代理分为两步:第一,先产生一个代理对象,并和真实的对象关联起来,产生代理关系;第二,实现代理对象的代理逻辑方法,这里一般都是由一个实现一个接口做的,JDK动态代理用java.lang.reflect.InvocationHandler这个接口;CGL

2017-09-05 16:41:39 229

原创 反射对象和方法

package 设计模式;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;class Person { String name = "renbin"; public Person() { // TODO Auto-generated constructor st

2017-09-05 10:39:50 178

原创 HashMap相关知识点

HashMap:1、HashMap基本概念HashMap是储存键值对的数据储存结构,其底层实际是数组加链表的形式。一个key对应多个value,key和value也可以是null值,相对比的是Hashtable,不可以是null值;HashMap是线程不安全的,对比的是Hashtable,是线程安全的;2、HashMap的工作原理(储存步骤)HashMap是无序不可重复的,当存入一个key1-val

2017-09-02 10:59:23 214

原创 多线程练习-synochronized-notify/wait-lock/condition

子线程循环 10 次,接着主线程循环 100,接着又回到子线程循环 10 次, * 接着再回到主线程又循环 100,如此循环 50次,请写出程序注意:在Eclipse中:run-->Run Configurations-->Common-->Standard input and output (可能不同版本的Eclipse位置会有所不同)File选择你想要保存的文件(比

2017-08-30 21:26:59 268

原创 CVTE笔试题

CVTE笔试题1、根据IP地址获取物理地址的协议是:ARP,地址解析协议,属于数据链路层;2、划分子网的问题:点这里,以前写的划分子网的题3、网关、路由器、交换机、网桥属于哪一个层次?4、中后缀序中后缀表达法5、快速排序:冒牌–>快速排序6、Mysql 基本语句7、static 块执行顺序:(静态变量、静态初始化块)—— 》 (变量、初始化块)—— 》 构造函数,()中的内容是按照代码前后循序执行当

2017-08-27 14:33:52 586

原创 DNS域名解析过程

1.当给定一个URL时,浏览器先检查自己的缓存有没有解析过的IP,然后操作系统再检查有没有解析过的IP;如果有则直接建立连接;没有进入第二步    这里面的缓存时间都是受TTL值控制的;2.浏览器会向Local DNS server,本地域名服务器申请解析,如果有则返回IP,没有进入第三步3.LocalDNS 会向Root Server 根服务器请求解析,它会返回一个本地域名所查域的主

2017-08-21 11:13:13 265

转载 HTTP协议

HTTP协议总结1HTTP协议总结2 无连接和无状态

2017-08-21 09:45:20 160

原创 剑指Offer--二叉搜索树的第K个节点-不会

题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。public class Solution { public int count = 0; TreeNode KthNode(TreeNode pRoot, int k) { if(pRoot !=

2017-08-19 16:26:25 127

原创 剑指offer--序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树一:二叉树序列化(持久化)二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于 先序、中序、后序、按层 的二叉树遍历方式来进行修改。原理都是一样的(即遍历顺序不同而已,对每个结点的处理都是一样的),序列化的结果是一个字符串,序列化

2017-08-19 15:26:40 122

原创 剑指offer--把二叉树打印成多行

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。package 从50题数组中重复的数字开始;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class 把二叉树打印成多行 { public static class TreeNode

2017-08-19 14:33:42 125

原创 剑指offer--安之字顺序打印二叉树

安之字顺序打印二叉树:题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public c

2017-08-19 13:02:54 138

原创 剑指offer--对称的二叉树(递归)

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。递归入口,被遍历节点的左右节点;处理情况:左右只有一个空--false;左右都不空--比较值;左右都空--truepublic class 对称的二叉树 { class TreeNode { int val = 0; Tree

2017-08-19 11:42:17 138

原创 剑指offer--二叉树的下一个节点

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。package 从50题数组中重复的数字开始;public class 二叉树的下一个节点 { public class TreeLinkNode { int val; TreeLinkNode left = nu

2017-08-19 10:23:11 124

原创 剑指Offer--删除链表中重复的节点

题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5package 从50题数组中重复的数字开始;import 从50题数组中重复的数字开始.链表中环的入口节点.ListNode;public class 删除链表中重复的节点 { publi

2017-08-18 16:48:51 139

原创 剑指offer--链表中环的入口结点

[编程题]链表中环的入口结点一个链表中包含环,请找出该链表的环的入口结点。参考:点击打开链接public class 链表中环的入口节点 { public static class ListNode { int val; ListNode next = null; ListNode(int val) { this.

2017-08-17 15:07:12 126

原创 剑指offer--字符流中第一个不重复的字符

请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。public class Solution { int[] hashtable=new

2017-08-17 10:13:20 106

原创 剑指offer--表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。方法一:评论区答案;正则表达式 public class Solution {    public boolean isNumeri

2017-08-17 09:48:34 98

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