Java 基础知识
一粒沙cym
这个作者很懒,什么都没留下…
展开
-
java解压zip文件 解决多目录出错
出现的问题内容的中文乱码问题,这个问题网上很多人给出了解决方法,主要有两种方法:一是修改sun的源码;另一个是使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry,这两个类ant.jar中有,可以直接下载使用即可,毫无疑问,选择后者更方便import java.io.BufferedO转载 2017-05-17 15:04:40 · 1700 阅读 · 0 评论 -
hashmap扩容时死循环问题
废话不多说,大家都知道,hashmap不能用于多线程场景中,多线程下推荐使用concurrentHashmap! 但为什么多线程下不能使用hashmap那,主要原因就在于其的扩容机制。文章是综合他人博客,自己加点写成的。(such as 我没画图,网上找的图。。) 故事的起源从hashmap的数据存放开始说起,默认hashmap大小是16.当数据过大时,毫无疑问,hashmap需要扩容去支...原创 2018-09-14 18:02:51 · 31834 阅读 · 25 评论 -
分布式数据库和缓存的一致性问题总结
之前被人问过,这会想起来,正好项目里面也有,就总结一下:首先是第一个问题: 更新缓存 VS 淘汰缓存什么是更新缓存:数据不但写入数据库,还会写入缓存什么是淘汰缓存:数据只会写入数据库,不会写入缓存,只会把数据淘汰掉更新缓存的优点:缓存不会增加一次miss,命中率高(所谓的miss是指没有找到缓存,错过一次)淘汰缓存的优点:简单那到底是选择更新缓存还是淘汰缓存呢,主要取决于“更新缓存...转载 2018-09-18 20:50:09 · 1393 阅读 · 0 评论 -
说说MySQL索引MyISAM和InnoDB的区别
如题,废话不多说, 首先两者都是使用B+树作为底层的数据结构的。 下图是MyISAM索引的原理图(图是网上找的。。。): 这个图就很明显了: 1,叶节点的data域存放的是数据记录的地址。MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClustered Index)。col1,col2,col3数据是独立额外存储的。索引是单独的,我的理解就是一本书的目录和里面的内容是...原创 2018-09-16 12:01:06 · 648 阅读 · 1 评论 -
concurrenthashmap的size方法原理
同上,这也是同一个面试的时候别人问的,我只是记得看过,在concurrenthashmap中会统计多次,当时就说会统计两次进行比较,人家接着问为啥。。。我傻了一下,这不是明摆着两次统计的中间有新的变化了,会导致统计不准确吗?当时也不知道说啥好,以为他有新的点,就说不知道。面试时很多问题其实冷静下来想一下,可以更进一步的,有时候其实也是怕他更进一步后下面的挖坑挖大了。下面具体说一下这个size方...原创 2018-09-15 17:46:38 · 8171 阅读 · 0 评论 -
ThreadPoolExecutor线程池大小设置
最近用到ThreadPoolExecutor ,想到这个问题; 下面是从网上找到的。线程池的理想大小取决于被提交任务的类型以及所部署系统的特性。线程池应该避免设置的过大或过小,如果线程池过大,大量的线程将在相对很少的CPU和内存资源上发生竞争,这不仅会导致更高的内存使用量,而且还可能耗尽资源。如果线程池过小,那么将导致许多空闲处理器无法执行任务,降低了系统吞吐率。要想合理的配置线程池的大...转载 2018-06-06 19:52:38 · 3665 阅读 · 0 评论 -
ie8下append问题及attr("value",xxx)和val(xxx)问题总结
项目突然要求支持到ie8,然后就开始在ie8下测试,发现很多问题。 首先是一个filter的问题,ie8下不支持filter。这个后来使用jQuery中的$filter解决掉。当然你用的js方法很多可以用相关的jQuery替换。 上面是第一个问题,然后花时间最多的是解决append的问题,我是在input标签下想append一些li的标签的,因为js代码逻辑很复杂代码体量也很大,排查这个问原创 2017-11-21 16:34:46 · 2759 阅读 · 0 评论 -
Java反射的使用
Java 反射 难得项目中有点技术的地方,写了大半年的js,要吐了。难得有些我觉得对我有用的地方,记录一下。内省和反射的区别 反射式在运行状态把Java类中的各种成分映射成相应的Java类,可以动态的获取所有的属性以及动态调用任意一个方法,强调的是运行状态。 内省机制是通过反射来实现的,BeanInfo用来暴露一个bean的属性、方法和事件,以后我们就可以操纵该JavaBean的属性在Jav原创 2017-11-01 17:24:58 · 251 阅读 · 0 评论 -
spring @scheduled 定时任务详解
使用@scheduled定时任务有两种方式,一种是直接@scheduled(cron=”0 0 0 ? * * “) 还有一种是使用xml配置对于这两种方式,首先需要在Spring配置文件xmlns加入xmlns:task="http://www.springframework.org/schema/task"然后在xsi:schemaLocation中加入 http://www.springf原创 2017-11-09 17:01:37 · 34696 阅读 · 3 评论 -
java中HashMap详解
标题 ##java中HashMap详解HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至HashSet 本身就采用 HashMap 来实现转载 2017-09-14 15:59:29 · 310 阅读 · 0 评论 -
Javascript 题目01
Javascript 题目汇总01 1 JavaScript基础数据类型JavaScript数据类型包括原始类型和引用类型,原始类型有五个:Number(数值) String(字符串) Boolean(布尔) Null(空) Undefined(未定义)引用类型有一个:Object(对象)通过typeof(x)可以返回一个变量x的数据类型“number”、“string”、转载 2017-05-22 17:15:19 · 308 阅读 · 0 评论 -
数据库隔离级别及实现原理
事情的起源于一个面试,面试官让我说说数据库的隔离级别,以及他们各自对应着什么问题,这个还好说,说出来后他接着追问readcommited的原理,当时楞了一下,因为的确没接触过,虽然知道肯定是锁的作用,但不知道怎么说好,怎么着手,就直接说不清楚了。。。然后就凉了。。。下面记录一下吧!所谓的数据库事务操作其实就是一组原子性的操作,要么全部操作成功,要么全部操作失败。 并行事务的四大问题:...原创 2018-09-15 15:25:27 · 20377 阅读 · 12 评论