- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 mac下php遇坑实例
背景旧项目使用PHP开发,才有这个避坑实录。避坑实录Mac下是默认安装了PHP的,安装phpStorm的IDE,搭配Xdebug可实现断点调试(http://www.siguoya.name/pc/home/article/49)php -v #查看php版本信息Mac下也是自带Apache容器的,非常方便的启动(https://www.jianshu.com/p/613e...
2019-07-09 21:59:44 435
原创 Homebrew更换源
默认官方源都在Github上,国内访问是慢的。国内可替换源# 替换brew.git:$ cd "$(brew --repo)"# 中国科大:$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git# 清华大学:$ git remote set-url origin https://mirrors.tuna.tsi...
2019-07-09 21:47:13 1679
原创 《Java 核心技术 卷一》 -笔记
基础结构main 方法应定义为public,在1.4之后才是强制定义的,之前各jvm并未统一。空白符、注释并不出现在编译后程序中,不会造成代码膨胀。JDK7+,加上前缀0b(0B)可以写二进制数,还可以为数字字面量加下划线(1_000_000),编译器会自动去除下划线。注释中特别注意\u,\u后跟十六进制,表示特殊字符,(\u00A0为换行,可能导致编译错误)。码点(code po...
2019-05-30 09:26:21 309
原创 《Docker Book》-笔记
容器与管理程序虚拟化(hypervisor virtualization HV)HV通过中间层运行独立虚拟机器于硬件之上容器则是直接运行在操作系统内核之上的用户空间,由于客居于操作系统,只能运行与底层宿主机相似的操作系统。权限隔离监牢(chrooot jail)容器有独立的网络和存储栈,还拥有自己的资源管理能力需要的开销有限,不需要模拟层和管理层,而是使用操作系统的系统调用接口,...
2019-05-28 08:59:07 279
原创 《深入理解Java虚拟机(第2版)》-笔记
内存区域虚拟机自动内存管理机制运行时数据区域jvm在执行java程序过程中,把它所管理的内存划分为若干个不同的数据区域。1. 程序计数器(Program counter register)当前线程所执行的字节码的行号指示器(Native方法,则为空)每条线程都需要一个独立的程序计数器(线程私有内存)是唯一一个在java虚拟机规范中,没有规定任何OutOfMemoryError情况...
2019-05-26 22:18:25 326
原创 Canal踩坑
线上使用Canal+ES+Kafka,为ES做实时数据同步。昨晚Canal-Server停机,今早恢复,启动时,各instance报图中错误。Could not find first log file name in binary log index file解决方法如下:停止Canal-Server和Canal-Client服务删除Zookeeper中/otter节点(rmr /o...
2019-05-22 09:55:29 2041
原创 MySQL alter/change/modify的区别
alter/change/modify的区别:ALTER COLUMN用于默认值的设置和清除。 ALTER TABLE MyTable ALTER COLUMN foo SET DEFAULT 'bar'; ALTER TABLE MyTable ALTER COLUMN foo DROP DEFAULT; CHANGE COLUMN字段重命名,改变数据类型...
2019-05-17 11:24:11 3290
原创 面霸之路--Redis
redis数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。数据类型string:最基本的数据类型,二进制安全的字符串,最大512M。list:按照添加顺序保持顺序的字符串列表。set:无序的字符串集合,不存在重复的元素。sorted set:已排序的字符串集合。has...
2019-05-05 19:11:15 350
原创 《高并发程序设计》-笔记
多线程间的协调性,乱序性。并发(concurrent)与并行(parallel)临界区活跃性问题:死锁Deadlock,饥饿Starvation,活锁Livelock锁竞争带来的系统开销,线程间频繁调度带来的开销。并发级别:阻塞无饥饿(Starvation-Free),公平与非公平锁无障碍(Obstruction-free),最弱的非阻塞调度,回滚机制,一致性标记无锁,一个线程可以在有限步完成操作...
2019-04-29 15:20:34 167
原创 从String.intern()看出JMM变迁史
String.intern()Java中使用的常量池,是jvm提供的缓存机制。一. 如何将String对象存储到常量池中:直接使用双引号声明出来的String对象会直接存储在常量池中。使用intern方法,若常量池中不存在,则置入。利用编译器的自动优化(eg. String str = “Hey” + “Man” //将HeyMan置入String pool);二. String常...
2019-04-28 11:55:49 201
原创 MySQL的update踩坑
当update中的set语句更新多个值时update base_test set flag = 1 and name = 'ignore' where id = 1;这个执行后结果,只更新了flag,而且flag值为0。原来是语句写错,update base_test set flag = 1, name = 'ignore' where id = 1;but,为什么会产生如此奇怪结果。...
2019-04-22 19:26:53 308
原创 Mojave踩坑
由于mojave的深色模式,决定更新系统,过程遇到许多坑:1.使用iTunes下载新系统,更新过程报错,或验证不通过; 首先是更改DNS为8.8.8.8,重启还是报错; 将SS的代理变为全局模式,还是报错; 最后,在开机时,按住command + option + r + p(清理系统缓存),成功;2.新系统,经常出现菊花再转,卡顿; 重新按住sogou拼音,...
2019-04-16 09:08:02 226
原创 Homebrew 安装指定版本软件
1. 查看软件信息使用brew info [options] [formula]查看软件信息关键信息:From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gradle.rb2. 修改源信息从https://github.com/Homebrew/homebrew-core/blob/master/Form...
2019-04-15 14:27:56 2533
原创 3. 线程的休眠
目录为何需要Thread.sleep()sleep()的霸道独执休眠线程显式控制线程调度,是让所有线程获得执行机会的好办法/** * Causes the currently executing thread to sleep (temporarily cease * execution) for the specified number of millise...
2019-04-10 00:04:06 168
原创 1. Java线程的基础储备
目录:线程的基本状态基础操作基本状态进程和线程的关联: 在《高并发程序设计》中,作者的比喻十分巧妙。进程是一个容器,比如一间明亮的小别墅,里面的电视、厨房、洗手间等都是临界资源,一家三口各为独立线程,当他们各司其职,互不干扰,比如,妈妈在厨房做饭,爸爸在书房工作,女儿在客厅看卡通节目,一家其乐融融,小别墅的生活就十分惬意。但当爸爸想去客厅看体育频道时,就和女儿产生了资源的竞争,这就...
2019-04-10 00:02:21 214
原创 2. synchronized创造的独占世界
整篇由线程安全的诱因入手,探讨synchronized具体实现方式,期间简要穿插STW、CAS、JDK6后的锁革命,后续篇章再一一对其介绍。线程安全诱因: 1. 临界数据(共享数据) 2. 多线程同时操作临界数据Mutually exclusive(互斥机制,中央集权)互斥锁:保证同一时刻,只有一个线程在操作共享数据,期间其余竞争进程等待其完成。而Java中的每个对象,都拥...
2018-07-05 00:35:39 204
原创 向Bridge模式招手
由“理论到实践”的体系,在我看来也是纯属扯淡,设计模式由极多的重复案例中总结出来的。因此下面我将谈谈Bridge模式的具体应用场景,随后带来死板的编码模型。 提起Bridge,有几个最经典的案例: 1.开关,风扇与电灯: 在实际生活中,我们利用开关(各式各样的开关)来操纵电灯(电器之类)。那么问题来了,如果电灯坏了,我们仅仅只要更换灯泡这个对象,而开关无需一起更换。这映
2015-10-15 14:33:16 386
原创 你不一定完全了解的,Java单例解法
在软件设计方面,分工越发的细致,对象的创建和使用已被明显分开,而作为消耗内存最严重的创建对象过程,必须对其进行约束,作为创建型模式的singleton,保证应用程序中某一个实例有且仅有一个,可以很显著的改善程序的性能。 在单线程下的singleton的稳定性是极好的,大致可分为两大类: 1.Eager型(饿汉型): 类加载时立即创建对象。public class EagerSingl
2015-09-12 11:35:19 862 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人