java面试题
小麦先森
科技,让事情回归简单
展开
-
《java面试题01》--try..catch以及i++和++i的用法
码代码的过程中,对于有些问题当时觉着是弄明白了,过段时间再遇到可能还是会出问题。主要还是对知识点的理解不透彻,每次重头看都会有更进一步的理解,对于此类问题,简单综合整理下:上代码: public static void main(String[] args) { System.out.println(test1()); } public stati...原创 2018-11-08 14:21:20 · 343 阅读 · 0 评论 -
《java面试题02》--值传递和引用传递
值传递和引用传递,近期接口开发中处理结果集等数据的时候常用到,二者主要区别在于所传参数的类型: public static void main(String[] args) { test(); } public static void test(){ String str1="Hello"; change(str1); Sy...原创 2018-11-08 14:48:43 · 400 阅读 · 0 评论 -
ArrayList和HashSet的增删操作区别
一, List和Set public static void main(String[] args) { test1(); } public static void test1() { List<Integer> list = new ArrayList<>(); Set<Integer> set = new HashSet&l...原创 2018-12-05 17:04:17 · 790 阅读 · 0 评论 -
java求和1+2+3+…+n
1, 常规实现public int Sum_Solution1(int n) { int sum = 0; for (int i = 1; i <= n; i++) { sum += i; } return sum; }2, 递归实现思路:巧用递归 --> 运用&&的短路特性public int Sum_Solut...转载 2019-02-15 10:18:51 · 7850 阅读 · 0 评论 -
《深入理解java虚拟机》 精华总结
一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1 程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基...转载 2019-02-12 09:26:04 · 186 阅读 · 0 评论 -
java筛选出一个字符串中出现次数最多的字符
## 实现思路:1, 删除字符串中和首字符相同的所有字符, 记录该字符的值以及该字符出现的次数;2, 循环重复1的操作, 每删除一次进行一次次数对比, 得出最新的最大次数和对应字符的值, 直到将字符全部删除得到最终结果;/* * 打印出一个字符串中出现次数最多的字符以及次数 */ public void findMaxCountStr(String str) {//abcd...原创 2019-02-14 15:16:09 · 4035 阅读 · 1 评论 -
java类中的赋值顺序
## demo测试package javase;public class StaticTest { int a = 110; static int b = 112; public static void main(String[] args) { staticFunction(); } static StaticTest st = new StaticTest();...原创 2019-03-08 14:25:25 · 687 阅读 · 0 评论 -
线程池的常见用法
最近的面试被频繁问到, 这里简单梳理下:先说java.uitl.concurrent.ThreadPoolExecutor类, 这是线程池最核心的一个类, 提供了4个构造方法, 前三个到最后都是对第四个进行调用;public class ThreadPoolExecutor extends AbstractExecutorService { ..... public Th...转载 2019-03-23 12:50:46 · 230 阅读 · 0 评论