通过ssh远程Windows的linux环境 最近垃圾电信的手机信号差到爆炸,满格的4G等于断网,一格的3G不掉线已经偷笑,所以是不可能通过桌面远程到公司电脑了。鉴于此,打算起了能不能通过ssh远程到windows里,随便模拟一把linux的bash shell环境,减轻网络负担。经过倒腾,目前的方案是windows10自带的openssh+linux子系统方案。 windows10开启openssh 在windows10的“设置”里搜索“管 2019-08-23 折腾
Spring Boot自动配置 条件化配置 spring4开始提供了一个新注解@Conditional,使得spring能够根据条件,决定是否要初始化某一个bean。@Conditional注解需要传入一个实现了Condition接口的class对象。Condition接口也很简单,只有一个方法,返回boolean表示是否要初始化这个bean。 12345678910111213class MyCondition impleme 2019-02-15 框架
小米8国际版刷机记 https://www.miui.com/thread-15964692-1-1.html https://jaist.dl.sourceforge.net/project/xiaomi-eu-multilang-miui-roms/xiaomi.eu/MIUI-WEEKLY-RELEASES/9.1.24/ http://www.miui.com/thread-17250016-1-1.html 2019-02-01 折腾
Mysql,Redis与Zookeeper实现分布式锁 Mysql分布式锁 Mysql的乐观锁 互斥性:需要自己在表中增加一列值,为此锁的版本号。并利用Mysql事务的级别(读已提交)确保校验版本号,修改锁状态来实现 解铃还须系铃人:需要自己在表中增加一列值,为唯一标志线程的id,以此标示锁的所有者 不会发生死锁:需要自己在表中增加一列值,为此锁的过期时间 具有容错性:暂时不会 使用InnoDB,假设表有三列:主键id、版本号version,用来标 2018-12-22 中间件
Spring Cloud 最近终于终于啃完翟永超的《Spring Cloud微服务实战》。看完之后,对于这些牛逼的东西,我只能说我终于知道Spring Cloud是想干嘛了(叹气。jpg)。对此总结一下。 实施Spring Cloud,即想通过把原本单独的大系统,拆分为多个的微服务,以达到系统解耦的目的。但为了依旧提供完整的服务,各个微服务仍然存在着业务依赖。而这些业务依赖则通过rpc等方式进行调用。因此微服务里存在着两个 2018-12-16 框架
Java定时任务 Timer Timer的使用 TimerTask是单线程的,与系统时间有关,报异常后无法自动恢复的。 12345678910TimerTask timerTask = new TimerTask() { @Override public void run() { System.out.println("TimerTask run: " 2018-12-15 java
Java多线程 进程 孤儿进程与僵尸进程 子进程是由父进程创建的,linux能确保子进程结束后,父进程能通过调用wait()或者waitpid()系统调用获取到子进程的信息。 其实现方式是,当子进程结束后,虽然系统会是否子进程的大部分资源,如打开的文件,内存等,但是还是会保留少量资源,如pid,直到父进程调用获取子进程的信息才会释放。 因此,如果子进程还没结束,父进程就结束了,那这些子进程则是孤儿进程,会被ini 2018-12-09 java
编辑距离 编辑距离可以用来判断两个字符串的相似性。量测方式是把一个字符串转变为另外一个字符串所需的操作次数。操作类型只有三种:增加,删除和替换。这样子,字符串的相似性则可以用1-编辑距离/MAX(字符串1长度,字符串2长度)来度量。 递归计算编辑距离 首先计算编辑距离,会用到几个递归逻辑。假设有两个字符串A和B。A[0,n]代表A的前n个字符,B[0,m]代表B的前m个字符。A[n]代表A的最后一个字符,B 2018-11-14 算法
word2vec学习小记 词向量 在机器学习中,为了让计算机能够处理自然语言,我们需要用数字来表示自然语言中的词。如果使用一个向量来表示一个词,那这个向量就叫做词向量。把一个词转换为一个向量的方式有很多,例如one hot Representation,以及word2vec。one hot Representation比较简单,通过一个长度为词表大小的(高维)二进制向量来表示,但只能给词编个号,无法表示词之间的关系。另外一 2018-11-08 算法
Mysql的锁与引擎 乐观锁 先不获取锁,认为写的时候一般数据不会被写的事务修改,但要提交数据的时候才检查数据是否被修改了。用于读多写少的情景。而检查数据是否被修改的方法一般是给数据添加版本号或者是时间戳。乐观锁数据库没有实现,需要我们自己实现。例如: 12select id,version from table where id = #{id}update table set value=2,ve 2018-10-24 中间件