自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 What is networking?

Networks are a collection of computers that are connected together with wires and wireless signals. These connected computers send and receive data and instructions to each other. The data and instruc...

2018-09-10 11:47:35 765

原创 Spring源码分析(二)——常用设计模式

代理模式:事情必须做,而自己没有时间做或者不想做。必须持有被代理对象的引用。包括静态代理和动态代理两种代理方式。生活中的场景如火车票代买、签证办理等一系列中介类似的活动。在Spring中的体现有JDK动态代理和cglib动态代理等。工厂模式:隐藏复杂的逻辑处理过程,只关心结果。需要告知工厂生产的产品。包括简单工厂,工厂方法和抽象工厂三种。生活中的场景如生产某指定纸制品和从4s店提一辆BWM车等...

2018-08-31 16:59:51 768

原创 Spring源码分析(一)——AOP、DI、IOC和IOC容器原理

面向切面编程(Aspect Oriented Programming):面向切面编程也可以称为面向规则编程,其目的是为了将多个类中具有一定规律性的代码在开发时将其按一定规则拆分后各自独立编写,在运行时由Spring将其整合在一起形成整体以对外提供服务。最大的好处当然是解耦,使得专人做专事,便于代码的维护和可扩展性。面向对象编程(Object Oriented Programming):面向切面...

2018-08-31 16:21:16 1499

原创 hashmap

//继承自AbstractMap<K,V>,实现了Map接口,Cloneable,Seralizable接口。public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable //初始化默认容量,16,全部使...

2018-08-25 19:11:29 155

原创 传统Session与使用缓存Redis区别

原生session在服务器端存储具有更高的可靠性,可以存储在文件、数据库、内存中。使用Session维护用户登录转态的过程:    用户进行登录时,提交的登录表单,放入request;    服务器端校验用户名和密码;    通过后将用户信息存储到Redis中,在数据库中的key为session_id;    服务器返回的response中的set-cookie字段包含该sessi...

2018-08-25 15:12:34 13295 6

原创 JVM垃圾回收算法

    基本的垃圾收集算法思想一共四种,标记清理、复制算法、标记整理,分代收集,其余的基本上都是基于这四种算法的改进。    标记-清理(Mark-Sweep):该算法在jvm中的应用是对Old区域的回收,由于Old的对象已经是长时间存活的对象,因此标记清理是标记适合该区域的算法,但也会面临一个问题,长时间的运行以后产生的空间碎片应该如何处理,如不及时处理则会触发fullGC导致长时间停顿,这...

2018-08-16 22:27:53 128

原创 JVM内存结构(基于JDK8)

    根据VM规范,VM应该被划分为五块区域——即VM栈、堆、方法区、程序计数器、本地方法栈五个部分。如下图所示:    方法区(Method Area):该区域是所有线程共享的,主要用于存放类的信息,常量、静态变量、即时编译器编译后的代码等。垃圾回收器对这块区域的回收主要是针对常量池和类的卸载。    java堆(Java Heap):该区域也是所有线程共享的,用于存放对象实例,绝...

2018-08-15 23:31:28 19802 6

原创 多线程共享数据的不一致性验证

//创建线程并改写run()和初始化函数 public class MyThread extends Thread{ private int count = 5; public MyThread(String name) { super(); this.setName(name); } @Override

2017-11-26 22:08:01 1025

原创 1.1线程的随机性验证

多线程的随机性验证

2017-11-26 21:55:57 321

原创 验证码的简单封装

package cn.itcast.response;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import jav

2017-09-18 19:01:54 592

空空如也

空空如也

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

TA关注的人

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