Kaka Blog

追求自我价值的实现

缓存技术介绍

Http协议缓存 HTTP缓存有多种规则,根据是否需要重新向服务器发起请求来分类,可以将其分为两大类(强制缓存,对比缓存),强制缓存如果生效,不需要再和服务器发生交互,而对比缓存不管是否生效,都需要与服务端发生交互。 两类缓存规则可以同时存在,强制缓存优先级高于对比缓存,也就是说,当执行强制缓存的规则时,如果缓存生效,直接使用缓存,不再执行对比缓存规则。 对于强制缓存来说,header中...

IP地址,子网掩码,网关,DNS服务器

IP地址 IP是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的。 IP地址=网络地址+主机地址 子网掩码 子网掩码是用来判断任意两台计算机的ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后,得出的结果是相同的,则说明这两台计算机是...

Java性能优化

前言 Thread类、Runnable接口和Java内存管理模型使得多线程编程简单直接。但是Thread类和Runnable接口都不允许声明检查型异常,也不能定义返回值。没有返回值这点稍微有点麻烦。不能声明抛出检查型异常则更麻烦一些。 Callable Callable接口定义了方法public T call() throws Exception。我们可以在Callable实现中声明强...

Java开发神器Lombok的使用

什么是Lombok? Lombok是一款Java开发插件,使得Java开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的Java模型对象(POJO)。在开发环境中使用Lombok插件后,Java开发人员可以节省出重复构建,诸如hashCode和equals这样的方法以及各种业务对象模型的accessor和ToString等方法的大量时间。对于这些方法,它能够在编...

Spring Boot(八):Spring Security安全控制(2)

前言 前面介绍Spring Security框架进行基本的安全控制,本文在上一节的基础上做修改,增加数据库进行安全控制。 快速上手 Web层和Web页面保持不变。 添加依赖 <dependencies> ... <dependency> <groupId>org.springframework.boot</g...

Spring Boot(七):Spring Security安全控制

前言 前面介绍了Apache Shiro框架,本文将介绍Spring Security框架进行安全控制,进行对比。 快速上手 Web层 @Controller public class HelloController { @RequestMapping("/") public String index() { return "index"; }...

关于synchronized和ReentrantLock之多线程同步

问题 假如有个一买票系统,当前总共100张票,有4个窗口在卖。 public class SynchronizeDemo implements Runnable { private int num = 100; @Override public void run() { while (num > 0) { try {...

IntelliJ IDEA使用总结

快捷键 1、查看定义 Ctrl + Alt + B 或 Ctrl + Alt + 鼠标点击 2、删除一行 Ctrl + Y / Ctrl + X 3、复制 Ctrl + D 4、自动导入包 Alt + Enter 5、生成getter、setter方法 Alt + Insert 6、实现接口 Ctrl + O 7、移动...

Spring Boot(七):统一异常处理

前言 我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。 统一异常处理 虽然,Spring Boot中实现了默认的error映射,但是在实际应用中,上面你的错误页面对用户来说并不够友好,我们通常需要去实现我们自己的异常提示。...

设计模式

创建型模式 负责对象的创建工作。 1.单例模式 该类负责创建自己的对象,同时确保只有单个对象被创建。保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2.工厂模式 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 3.抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。接口是负责创建一个相关对象...