刘海东 博客

一块思考的石头

深入理解string

String 字符数组中存放的 1、构建字符串 多种构建方式 构建空字符串new String() 字符数据char[]指向运行时常量池”“指向的空字符数组 根据字符数组创建字符串 依赖Arrays工具类 -> System.arraycopy 根据codePoints 来构建字符串String(int[] codePoints, int offset, int c...

JVM内存布局

java内存布局

为啥需要JVM? JVM内存布局 作为一名Java开发人员,整天在和Java语言打交道,基于Java语言编写各种Java程序。可能对于工作来说只需要编写出满足业务需求Java程序即可,但作为技术人员从技术学习成长的角度来说我们有更高的技术追求,需要更加深入的学习Java技术,一方面是能够让我们技术掌握更有深度,另一方面能扩展我们对技术认知,进而从中汲取学习优秀的设计思想反哺到我们的工作之...

java线程

java线程

整理美团Java线程相关文章 Java魔法类:Unsafe应用解析 Java魔法类:Unsafe应用解析 Java线程池实现原理及其在美团业务中的实践 Java线程池实现原理及其在美团业务中的实践 不可不说的Java“锁”事 不可不说的Java“锁”事 从ReentrantLock的实现看AQS的原理及应用 从ReentrantLock的实现看AQS的原理及应用

Linux之service命令

Linux之service命令

Linux之Service命令 功能用途 service命令主要对服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等 功能原理 service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。 命令地址 1 2 [root@localhost ~]# which ser...

向量检索

向量检索

什么是向量检索 https://zhuanlan.zhihu.com/p/90677337

设计模式之单例模式

设计模式之单例模式

设计模式之单例模式 单例定义 一个类只允许创建一个对象(或者叫做实例),这个类叫做单例类,这种设计模式叫做单例设计模式,简称单例模式。 单例模式实现 单例模式关注点如下几点 构造函数修饰符为private,这样才能避免外部通过构造函数创建实例 考虑创建对象是否是线程安全的 考虑是否支持延迟加载 考虑getInstance性能是否高(是否加锁) 饿汉式 饿汉式在类的加载...

设计模式之单例模式

设计模式之单例模式

设计模式之单例模式 单例定义 一个类只允许创建一个对象(或者叫做实例),这个类叫做单例类,这种设计模式叫做单例设计模式,简称单例模式。 单例模式实现 单例模式关注点如下几点 构造函数修饰符为private,这样才能避免外部通过构造函数创建实例 考虑创建对象是否是线程安全的 考虑是否支持延迟加载 考虑getInstance性能是否高(是否加锁) 饿汉式 饿汉式在类的加载...

Ruby升级指南

Ruby升级指南

升级ruby 希望借助github提供的能力搭建个人博客,根据安装教程搭建Jekyll环境时遇到一堆问题,针对这些问题开启了Ruby升级之路。 所有问题都始于下面这个问题: 1 2 3 4 gem install jekyll ERROR: Could not find a valid gem 'jekyll' (>= 0), here is why:Unable to down...

Git学习之分支

Git分支

Git学习之Git分支 分支背景 为何版本控制系统(SVN、GIT等)都支持分支功能? 几乎所有的版本控制系统都以某种形式支持分支。分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。 Git处理分支的方式可谓是难以置信的轻量,创建新分支这一操作...

Git学习之提交历史

Git提交历史

Git学习之Git提交历史 分支背景 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git log 命令。 查看提交补丁 显示每次提交所引入的差异(按补丁的格式输出),可以限制显示的日志条目数量。选项是 -p 或 –patch。当进行代码审查,或者快速浏览某个搭档的提交所带来的变化的时候,这个参数就非常有用了。 1 git lo...