置顶
未读
Halo构建个人博客-Lazyking建站记录
前言:我是不爱写东西的,但是从上次面试过之后,才知道个人博客也是能拿来说道的。正好白嫖到了华为的服务器,那就买个域名,尝试做一下吧。 本篇文章将从服务器用户创建开始,安装jre、postgresql,运行halo.jar,配置nginx实现反向代理,到申请ssl证书实现Https访问结束,绝对的保姆
集合学习(四):Collections工具类
方法 描述 addAll(Collection<? super T> c, T... elements) 向集合中添加多个元素 sort(List<T> list) 对列表进行自然顺序排序(需要元素实现 Comparable 接口) sort(List<T> list, Comparator<? s
集合学习(三):Map双列集合
1. Map接口常用方法 方法 描述 put(K key, V value) 添加或更新键值对 putAll(Map<? extends K, ? extends V> m) 将指定映射中的所有键值对复制到当前映射中 get(Object key) 获取指定键对应的值 containsKey(Obj
集合学习(二):Collection单列集合
1. Collection接口方法的使用 以ArrayList为例:Collection<String> collection = new ArrayList<>(); 方法 描述 add(E e) 向集合中添加元素 addAll(Collection<? extends E> c) 将指定集合中的
多线程学习(五):Callable与FutureTask的简单实现
1. LazykingCallable public interface LazykingCallable<V> {
V call();
}
2. LazykingFutureTask public class LazykingFutureTask<V> implements Ru
多线程学习(四):Lock锁与线程优先级
1. Lock锁的基本用法 创建Lock实例 Lock lock = new ReentrantLock(); 使用lock()方法获取锁 使用unLock()方法释放锁 通常,一般unLock()方法会被放在finally块中,以保证在异常情况下lock锁被正常释放, private final
多线程学习(三):线程通知&等待机制
1. wait()/notify()的基本使用 wait()/notify()只能在synchronized同步代码块中使用 synchronized(锁对象) {
锁对象.wait();
}
synchronized(锁对象) {
锁对象.notify();
}
调用wait()方法的线程
多线程学习(二):线程安全问题
当线程执行到同步代码块时,会尝试获取锁对象的锁,以确保代码块在同一时间只能被一个线程执行。 1. 问题引入 同时开启两个线程,对同一个资源进行操作,线程之间互相干扰 什么是线程安全问题? 多线程同时修改同一资源,线程之间互相干扰,就会产生线程安全问题 public class ThreadSafe1
多线程学习(一):线程创建的方式
使用多线程时,不同方式最终都通过调用 Thread 类的 start 方法启动线程 1. 继承Thread类 继承Thread类 重写run()方法 需要执行的代码写在方法体中 调用start()方法 public class ThreadCreate1 extends Thread{