星空

人生不仅有眼前的苟且,还有诗和远方.

0%

为什么要使用密码管理工具

在日常的生活中,尤其是现在发达的网络环境下,每个人都在大量的网站注册了大量的账号,除却QQ登录、微信登录等登录方式之外,绝大部分网站都支持使用账号密码登录,一旦账号多了,密码多了,发现记录密码是一件非常麻烦的事,又不敢明文保存,还经常需要用到,此时密码管理工具的作用就凸显出来了。

什么密码管理工具好用

之前自己使用过keepPass的开源版,它的理念是把账号密码的数据存储在本地,起到了安全性的作用,但是这样就造成了自己有多台电脑的时候,同步密码就成了一件非常费力的事情。

阅读全文 »

HashMap的初始化过程

HashMap的初始化有两种方法:

  1. 直接使用HashMap的无参构造方法,此时初始化的容量为:DEFAULT_LOAD_FACTOR 也就是16

    1
    2
    3
    4
    5
    6
    7
    /**
    * Constructs an empty <tt>HashMap</tt> with the default initial capacity
    * (16) and the default load factor (0.75).
    */
    public HashMap() {
    this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted
    }
  2. 传入容量参数的有参构造方法,此时的初始化容量需要进行计算

1
2
3
4
5
6
7
8
9
10
/**
* Constructs an empty <tt>HashMap</tt> with the specified initial
* capacity and the default load factor (0.75).
*
* @param initialCapacity the initial capacity.
* @throws IllegalArgumentException if the initial capacity is negative.
*/
public HashMap(int initialCapacity) {
this(initialCapacity, DEFAULT_LOAD_FACTOR);
}
阅读全文 »

HashMap的组成

HashMap的内部实现是一个数组,但是它是一个特殊的数组。如下图所示:
HashMap数据结构

HashMap的内部结构

HashMap是一个特殊的数组实现,它的数据插入并不是按照顺序逐个写入的,而是按照一种特定算法来确定写入的位置,

阅读全文 »


为了网站快速响应,经常需要将前端页面放在cdn上,此时就需要后端服务支持跨域访问,所以

记录一下在tengine上的配置,用于集中管理多个服务和支持服务的跨域访问设置。关于nginx的安装可以参照 https://blog.bosong.online/2018/10/14/69BBBB0AC794451BBEDBA9211FD7F4B1

第一步 将配置文件进行分离

使用vi nginx.conf编辑nginx的配置文件,改成如下配置

阅读全文 »

起因

上周五新建了一个项目,在开发完成后,和运维沟通准备上到生产环境中,套用了现有服务的通用启动命名行:

1
java -jar Xms3072m -Xmx8192m app.jar & 2>1

然后一切准备就绪,jenkins打包一切顺利,然后顺利部署到生产环境,由于前端项目暂未部署,k8s使用的内网集群通信,暂时没有办法调用接口进行服务部署成功验证,但是在测试环境进行了充分测试,一切OK 。

阅读全文 »