为什么StringBuilder是线程不安全的?StringBuffer是线程安全的?

面试中经常问到的一个问题:StringBuilderStringBuffer的区别是什么?
我们非常自信的说出:StringBuilder是线程不安全的,StirngBuffer是线程安全的
面试官:StringBuilder不安全的点在哪儿?
这时候估计就哑巴了。。。


当执行一条查询语句时,MySQL内部经历了什么?

假如说我们有一张表 T ,表里只有一个字段 ID,当我们执行下边这条SQL语句时:

1
mysql> select * fron T where ID=10;


Java实践-远程调用Shell脚本并获取输出信息

1、添加依赖

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>262</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>

浅谈关于SQL优化的思路

零、为什么要优化

  • 系统的吞吐量瓶颈往往出现在数据库的访问速度上
  • 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢
  • 数据是存放在磁盘上的,读写速度无法和内存相比

Docker搭建Zookeeper&Kafka集群

前排提示:最新的docker-compole.yml请去github获取,README有相应的操作步骤。
Github地址:https://github.com/JacianLiu/docker-compose

最近在学习Kafka,准备测试集群状态的时候感觉无论是开三台虚拟机或者在一台虚拟机开辟三个不同的端口号都太麻烦了(嗯。。主要是懒)。


链表

开篇问题

问题:如何用链表来实现 LRU 缓存淘汰策略呢?

链表的作用

链表一个经典的应用场景就是LRU缓存淘汰算法;

缓存是一种提高数据读取性能的技术,在开发中有着非常广泛的应用,由于缓存的大小有限,当缓存被占满时,哪些数据应该被清理,哪些数据应该被保留?这就需要淘汰策略来决定,常见的淘汰策略有三种:先进先出策略FIFO(First In, First Out)、最少使用策略LFU(Least Frequently Used)、最近最少使用策略LRU(Least Recently Used)。

打个比方:假如说你买了很多书籍,但有一天发现书太多了,太占空间,你要做个大扫除。那么这个时候你会选择扔掉哪些书籍?对应一下,其实就是我们上边说的三种策略;


记录一次由于线程使用不当引发的血案

背景

最近给第三方做了一个接口,接口的作用是接收数据对数据进行验证之后通过kafka推送到模型进行数据处理,最终通过kafka接收模型的数据,开始只做了一个异步的接口,由于对方业务原因需要一个同步的接口传输数据,但是每当运行一段时间之后程序就会进入假死状态,接口无法正常调用;


数组

问题:为什么数组下标是从0开始,而不是从1开始;

什么是数组?

数组是一种线性表数据结构,它用一组连续的内存空间来存储一组相同类型的数据


基于Hexo&GitHub从零搭建个人博客

现在越来越多的人喜欢利用Github搭建静态网站,原因不外乎简单省钱。本人也利用hexo+github搭建了本博客,用于分享一些心得。在此过程中,折腾博客的各种配置以及功能占具了我一部分时间,在此详细记录下我是如何利用hexo+github搭建静态博客以及一些配置相关问题,以免过后遗忘,且当备份之用。


基于Netty-SocketIO的主动推送服务

背景

前端时间,公司开发了一款主动服务的机器人的程序,讲产生的消息通过服务端主动推送到客户端(H5、IOS、Android),支持用户的个性化开关设置,用户可自由选择接受的消息类型;同时支持用户主动提问;在此记录下整个部署以及实现的大致思路;

同时感谢我的Leader给予的帮助。


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×