-
Windows下的极简主义工作法
Windows下的极简主义工作法本文对于程序员效果更佳,当然其他同学也可以捡一些小工具提高生产效率。作为一个完美主义者,我喜欢干净的Windows,不喜欢一些杂七杂八的软件在我的系统上乱跑。同时,平时也喜欢搜索各种小工具提高电脑办公的生产效率。最近混迹各种论坛,搜集到了一些有用的小工具。能最大程度的简化开发和保存Windows上的简洁。以下,我推荐下自己总结的这些小工具。假设现在系统是很干净的,刚刚重装完成没有杂七杂八的软件。划分D盘作为非系统盘这里我建议磁盘只划分为C盘和D盘两个盘,C盘...…
-
汇编指令与C语言对比
汇编指令与C语言对比这两天在巩固基础,重拾汇编语言,对于汇编语言的思考,记录在此,仅仅是自己的思考笔记,可能有错误的地方,欢迎提意见。计算机两个最主要的组成部分,就是CPU和内存了。我们编写的程序要运行,是需要先加载到内存中,然后由CPU控制执行的。简而言之,我们写的程序,其实就是使用CPU对内存进行操作,即CPU和内存的交互,CPU是通过内部的寄存器和内存交互的,所以程序就是寄存器和内存的交互。重要的事情说三次,寄存器和内存的交互,寄存器和内存的交互,寄存器和内存的交互。 请牢记这句话,...…
-
如何阅读一本书-美-艾德勒
如何阅读一本书-美-艾德勒读书笔记,本人认为每个人的读书笔记各不相同,以前陷于大而全的读书笔记,反而写起笔记来有点懈怠,现在倾向于写自己觉得有用的部分笔记。毕竟读书能学到书中部分精髓就已经很满足了,没必要大而全。阅读的层次主动阅读,比起主动的写跟说,读与听完全是被动的事。阅读的目的是为了获得资讯而读,以及为了求得理解而读。后者作者一定要比读者来得“高杆”,我们一定要知道他们是谁,如何跟着他们学习。阅读就是学习,不要止于吸收资讯而已,而要知道why-diff,知道为什么会发生以及与其他事实的...…
-
循环和递归对比
循环与递归对比大学学习递归的时候有一句话印象深刻:所有的递归都可以改写为循环。这句话我是同意的,因为递归其实本质上就是栈的操作。虽然如此,但递归有递归的优点,递归算法写出来的程序都比较简短而且优雅,缺点是其站在了计算机的角度,人很难深究其中,容易陷入递归的汪洋大海中。既然所有的递归都可以改写为循环,反之,那循环是否可以改写为递归呢?今天再次想到这个问题,是因为做了《剑指Offer》的一道递归题:合并两个排序的链表,牛客网剑指offer第16道题递归和循环相同点递归和循环都有退出条件,每次递...…
-
唯品会Java面试
唯品会Java面试本文作于2019年11月25日,上周投递了唯品会基础架构部门的岗位,不久唯品会方就来了预约电话面试了。我以前都是crudboy,这次兴趣使然投了下基础架构方面的职位,没想到简历通过了。意料之中的是,面试挂了。不过本次的面试还是学到了很多东西,以后要继续努力。一面技术一面的面试官是一个30左右的人,看起来干净利落。拿到我的简历后竟然都不叫我做自我介绍。就着我简历上用到的技术进行提问。 Redis了解多少,用Redis做流控怎么设计? Mysql了解多少,慢sql怎么查?...…
-
Eureka启动流程之源码小段分析
Eureka启动流程-源码小段分析本文参考自朱荣鑫老师的书《Spring Cloud微服务架构进阶》,强烈建议阅读本书。Eureka是Netflix开源的服务治理组件,内部网络间的微服务调用已不再使用IP地址,而使用微服务名称,所以需要有Eureka这样的的组件存在,负责维护服务的状态。Spring Cloud整合了Eureka,使用Spring生态可以做到对其开箱即用。除了Eureka,Spring Cloud还整合了其他Netflix组件,统称为Spring Cloud Netflix...…
-
Chrome插件SwitchyOmega配置
Chrome插件SwitchyOmega配置作为一个只用三个键(ctrl+c, ctrl+v)写代码的码农,平时使用代理去用国外搜索引擎查找资料是必不可少的。以前不懂,都是打开代理之后就去修改系统的Internet选项,这样不仅麻烦不说,还将访问的http地址都代理了,这样访问国内的网址反而慢了。那是否有一个插件可以只能的判断网址是否需要代理,如果是国内的就直接访问即可?是的,没有chrome插件完成不了的事,这个插件就是SwitchyOmega。原理SwtichyOmega是chrome...…
-
sleep和wait区别以及while死循环
sleep和wait区别以及while死循环sleep()和wait()区别sleep()和wait()的区别属于老生常谈了,大部分Java面试或者笔试都会问到。标准的答案是: 线程阻塞,两者都会释放cpu资源 sleep()不会释放锁资源,wait()会释放自身持有的锁 wait()需要再synchronized中使用,而sleep()不需要其上第一点,线程阻塞两者都会释放cpu资源,这一点很重要。想想以下执行的代码会有区别吗?// 代码段1while (true) { Sy...…
-
Spring Boot启动流程和自动配置原理
Spring Boot启动流程和自动配置原理Java程序员应该都知道,每个Spring Boot都有一个启动类,Spring Boot的启动就是执行的该类的main方法。如下图,main方法中就是执行SpringApplication.run方法。启动流程先总结一下Spring Boot启动流程。 SpringApplication.run中执行了两步操作,先封装了一个SpringApplication的实例,再执行该实例的重载run方法 SpringApplication封装实例时,...…
-
Java-广州晓教育面试
广州晓教育Java面试昨天上午去到了广州晓教育面试Java开发,公司位于广州太古汇。到楼下后直接上楼找面试接待即可,首先会被要求做笔试。笔试题 实现一个去重的集合类,不能使用已有的Collection或者Map 介绍过滤器Filter和拦截器Interceptor,画一下SpringMVC执行流程 写一个你认为最有的单例模式 扣库存问题,a. 指出下面代码产生脏数据的原因, b. 思考方案解决这个问题。 public void discount(int goodsId) { ...…
-
广州Bigo面试-Java
[Java]广州Bigo面试本文作于2019年11月19日。昨天投递简历到广州Bigo公司,接到邮件约定今天去面试。Bigo公司环境挺高大上的,无奈二面被刷了。在此记录下面试问题,继续努力。一面基础到公司签到后,hr下楼带上会议室面试。一面是一个30岁左右的年轻人,第一各问题当时是自我介绍了。介绍完进入主题。 为什么String是不可变的?(final?没那么简单,不懂了) StringBuilder和StringBuffer区别?(线程安全?继续深究) 我能定义一个java.lan...…
-
Git操作备忘
Git操作备忘Git一般只添加数据。你执行的 Git 操作,几乎只往 Git 数据库中增加数据。很难让 Git 执行任何不可逆操作,或者让它以任何方式清除数据。同别的 VCS 一样,未提交更新时有可能丢失或弄乱修改的内容;但是一旦你提交快照到 Git 中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。所以,一旦commit过了,那就大胆的玩吧。本地与推送以上是常用的Git命令图。和远程的交互基本只是push,操作基本都在本地最后push到远程即可。git bash下键入命令...…
-
递归-回溯算法宇宙观(简单理解迷宫、皇后问题)
递归-回溯算法宇宙观(简单理解迷宫、皇后问题)最近在刷题的时候,对于一些使用递归的算法都不太理解,经常没有思路。经过刷了几个题,终于把抽象的递归形象化了,记录在此,帮助记忆。很多递归的教程都是从斐波那契数列开始,但我想从一个更简单的题目开始切入。 题目为:给定一个整数n,请输出倒序再整数输出n~0,0~n,以空格分离。示例,当n=1时,输出1, 0, 0, 1当n=3时,输出3, 2, 1, 0, 0, 1, 2, 3题目很简单,一般思路就是从n开始,循环递减打印,如下// 打印数字pu...…
-
终于搭建自己的博客啦
终于自己搭建博客啦折腾了一个晚上,基于Github Pages + Jekyll的免费博客系统终于搭建完毕,按捺不住自己的小心脏,赶紧发一篇文章试试。这不是我第一次搭建自己的博客,大学时曾经使用SSM框架手写了一个博客系统,还附带评论模块和后台管理模块,购买了域名和主机,不久就废弃了。不仅仅因为穷,还太能折腾了,真的是码字5分钟,debug两小时啊。感谢github,提供了这么好的托管平台,以后就当写markdown,往博客上丢,就是一篇博文啦。方便。欢迎大家经常来我的博客做客呀,http...…