摘要:顾名思义,就是位集合(bit set),是从JDK 1.0就出现的东西,后面的版本又慢慢强化。 我们说学习一样东西,最好是场景驱动 - 要考虑它的使用场景,这样才有意义。 那么,BitSet的应用场景是什么? 我个人的体会是,用于统计,统计整数相关的东西。但这么说未免太空泛了,我们先来看一下它的用法吧。 直接上例子: @Test public void test(){ BitSet s...
阅读全文
摘要:看CSAPP果然大有收获,超线程就是其一。 我们知道计算机的CPU是从单处理器开始,到多处理器,再到多核,最后超线程技术的出现。 单处理器很好理解,就是一个CPU。 所以同一时刻只能运行一个进程,在分时任务系统出现之前,用户只能等待前一个任务结束,才能执行下一个任务。 在分时任务系统出现之后,由系统
阅读全文
摘要:因为项目中要用到shell脚本,所以系统的看了一下。以前只是泛泛的了解。 变量:环境变量、预定义变量、位置变量、自定义变量。 环境变量这个好说,通过set或者env命令都能看到相应的列表,然后可以通过 echo ${VAR}显示出来。需要提一下,windows下也有环境变量,也可以使用echo %{VAR}%显示出来。 如: [root@localhost]# envTERM=xtermSHE...
阅读全文
摘要:JNDI,全称 Java Naming and Directory Interface。以数据库的配置为例,简单的说,就是将对数据库的连接设置(driverClass、URL、user、password、dbpool)交给JavaEE容器负责,应用程序只需要在容器中根据名字查找连接即可。为什么要这么做呢?因为制定规则的那帮人认为 代码只应该负责业务逻辑,不应该负责配置数据库的连接等工作。那总得有地...
阅读全文
摘要:CompletableFuture 是jdk8提供的异步类,远比Future强大! 问题是:thenRun/thenRunAsync 啥关系?使用另一个线程完成,就是说不对主线程造成影响吗??? 小知识:该类的多数async方法,都有两种重载形式,一种是使用默认的fork/join框架,一种是提供t
阅读全文