面试
TodayEveryDay
hi,大家好
展开
-
面试复盘1,ThreadLocal
线程本地变量,每个线程都有自己的本地变量,用来保证线程安全 底层原理 底层维护了一个ThreadLocalMap 数组 内存溢出的原因 ThreadLocal的原理是操作Thread内部的一个ThreadLocalMap,这个Map的Entry继承了WeakReference,设值完成后map中是(WeakReference,value)这样的数据结构。java中的弱引用在内存不足的时候会被回收掉,回收之后变成(null,value)的形式,key被收回掉了。 如果线程执行完之后销毁,value也会被回收原创 2021-03-18 11:27:57 · 92 阅读 · 0 评论 -
算法02--- 判断链表是否有环
思路: 双指针,快慢指针 一个 快指针 ListNode fast 一个 慢指针 ListNode slow 快指针走两步,慢指针走一步,如果 最终快慢指针重合了,说明此链表有环 题解 public class Solution { piblic boolean hasCycle(ListNode head){ if(head == null ){ return false; } ListNode fast原创 2021-03-13 15:09:51 · 84 阅读 · 0 评论 -
Java面试题集锦 (一)
一. 在java中怎样实现多线程?(瞬联) extends Thread implement Runnable 方法一:继承 Thread 类,覆盖方法 run(),我们在创建的 Thread 类的子类中重写 run() ,加入线程所要执行的代码即可。下面是一个例子: public class MyThread extends Thread { int c原创 2015-11-10 08:57:34 · 797 阅读 · 0 评论 -
Object类到底实现了哪些方法
Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法? 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。 2.getClass方法 final方法,获得运行时类型。 3.toString方法 该方法用得比较多,一般子类都有覆盖。转载 2016-04-10 15:03:48 · 365 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
listview优化1.复用convertView减少内存消耗—->convertView进行判断是否为空,不为空的时候,直接重新使用。为空的时候给他一个布局2.减少查找id的次数—–>定义一个ViewHolder 存储控件,然后与convertView绑定起来对于以上的两条如果说你能在项目中用到并且将Viewholder抽取到一个单独的类中进行复用,面试官对你看法会有所提高的。 继续吧 如果对于l转载 2016-12-08 16:37:20 · 355 阅读 · 0 评论 -
写入一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
public class Test1 { /* * * 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。 * */ public static void main(String[] args) { // TODO Auto-generated method stub String filePath = "D:/abc.txt" ; Sys...原创 2018-09-05 10:04:31 · 842 阅读 · 0 评论 -
字符串反转
//一:需求:将字符串中进行反转。abcde –> edcba //思路: //1、因为反转,想到之前做个数组的反转的例子, //1、先将字符串转变为数组。 //2、有了数组后直接进行头尾角标元素的位置置换即可 //3、将数组转成字符串。 //步骤: //1、将字符串转成数组:toCharArray() //2、对数组进行位置置换swap...原创 2018-09-05 10:32:14 · 482 阅读 · 0 评论