摘要:
springboot starts:>=5000 点赞数超过5000 springboot forks:>=500 springboot forks:100..200, stars:80..100 seckill in:name,readme,description awesome redis 学习 阅读全文
摘要:
LockSupport是优化版的等待和唤醒机制 wait 和 notify 需要和 synchronized 结合使用 await 和 signal 需要和 Lock 结合使用 它们都必须是先等待再唤醒 LockSupport可以单独使用, 直接唤醒指定的线程,而且跟顺序无关,可以先 unpart 阅读全文
摘要:
public class LruCached<K, V> { class Node<K, V> { K key; V value; Node<K, V> pre; Node<K, V> next; public Node() { this.next = this.pre = null; } publ 阅读全文
摘要:
public class Test { public static void main(String[] args) { MyData myData = new MyData(); for (int i = 0; i < 100; i++) { new Thread(() →{ for (int j 阅读全文
摘要:
工厂方法模式 工厂方法模式让一个类的实例化延迟到子类 public class FactoryMethodTest { public static void main(String[] args) { Application application = new ConcreteProductA(); 阅读全文
摘要:
单例模式 懒汉模式 class LazySingleton { //volatile 防止指令重排 private volatile static LazySingleton lazySingleton; //私有化构造方法 private LazySingleton(){ //不能防止反射机制创建 阅读全文
摘要:
为什么要使用建造者设计模式 如果对象中属性多,但是通常重要的只有几个,因此建造者模式会让开发者指定一些比较重要的属性或者让开发者指定某几个对象类型,然后让建造者去实现复杂的构建对象的过程,这就是对象的属性与创建分离。这样对于开发者而言隐藏了复杂的对象构建细节,降低了学习成本,同时提升了代码的可复用性 阅读全文
摘要:
认证流程: 从图中可以得出我们要想从数据库中取用户的信息进行验证就需要实现 UserDetailsService 接口,并将数据封装到 User 对象中即可 实现步骤: 导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar 阅读全文
摘要:
安装(linux环境) 解压 ./configure make make install whereis nginx 查看nginx的安装的位置 (nginx 默认安装到 /usr/local/nginx目录下) ngixn 常用的命令 ./nginx #进入 sbin目录下执行命令 启动nginx 阅读全文
摘要:
git常用的命令 git config -l # 查看git的配置 git config --system --list # 查看git的系统配置 git config --global --list # 查看用户自己的配置 ssh-keygen -t rsa -C 邮箱生成的.pub文件的key配 阅读全文