![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础面试
北半球第一帅
这个作者很懒,什么都没留下…
展开
-
Java 把一个int数字转换成特定位数二进制的字符串
首先明确一点,我想要的结果是这个数字经过进制转换得到一个二进制数组,且最长不超过n位。这里的n是可以调的,下面给出n=8时的例子。public static String binaryString(int num) { StringBuilder result = new StringBuilder(); int flag = 1 << 7; for (int i = 0; i < 8; i++) { int val = (flag &a.原创 2021-01-12 17:29:18 · 1706 阅读 · 0 评论 -
借助java的LinkedList实现插入排序
List<Integer> a=new ArrayList();a.add(1);a.add(2);a.add(7);a.add(7);a.add(0);a.add(3);a.add(4);a.add(212);List<Integer> sortedList=new LinkedList();a.forEach(sortNum ->{ ...原创 2019-09-02 16:12:39 · 1147 阅读 · 0 评论 -
java关键字synchronized的内存可见性
以前保证内存可见性都是使用volatile关键字,下面代码的执行结果,让我猜到了synchronized关键字可能会刷新线程的工作内存。原来synchronized关键字也可以保证变量的内存可见性。因为,1、线程解锁前,必须把共享变量的最新值刷新到主内存中;2、线程加锁时,清空工作内存中共享变量的值,从而使共享变量是从主内存中重新读取最新的值(加锁与解锁需要统一把锁)线程执行互斥...原创 2019-10-30 14:16:55 · 257 阅读 · 0 评论