- 博客(6)
- 收藏
- 关注
原创 一些面试真题
6.我现在百度有一个IP换成新的了,在运营商只有一个我的旧的IP,问现在一个用户访问原来的旧IP访问不到,我可以采用什么方案来解决?11.如果给你50亿个不重复的乱序的数字,然后再任意给你一个数字,怎么样快速判断给你的这个数字是否在那50亿个数字当中?一道简单的动态规划,题目忘了,此外还有多家中小厂的面试,但都较为简单,基本就是一些基础知识的问答,就不过多占用版面了。4.我现在想在浏览器上输入一个URL,从输入URL到在浏览器上渲染出画面,它的一个整体的工作流程是什么样的?线程池提交任务的流程。
2024-01-15 11:23:18
343
原创 线程通信的学习
先开始创建一个任务类,里面方法有任务A,任务B,任务C,同时会相应的创建三个线程ThereadA,ThreadB,ThreadC分别去调用前面三个任务方法,然后在主方法中,每过50ms就创建一个自动生成任务的线程存入集合中,同时开启三个线程来跑。class Task { int num; boolean flagA; // 默认为false boolean flagB; boolean flagC; public void taskA() { if
2022-11-02 17:56:29
103
1
原创 Synchronized&Lock使用原理
按照宇哥所讲及于csdn上的查询自学,先写一个总体的代码,然后去修改验证来得出我们对这个锁的理解。先写一个task类,类中只有num属性,然后我们开五个线程去,每个线程跑一个for循环10000次的代码,看看最后的是不是50000从而完成验证class Task { int num;}public class test { public static void main(String[] args) { test t = new test(); Tas
2022-11-02 17:41:10
74
原创 我对ArrayList常用方法的底层源码的理解
我对ArrayList常用方法的底层源码的理解\n常规的思路\nadd():只能在数组的末端进行增加元素操作\n\n因为Arraylist是基于数组实现的一种集合;首先我们要明确数组的基本特点:①数组的地址是连续的; ②当你对数组进行增删改的时候,如删除操作:你只能用你想删除的元素的后面的元素一个个向前移动一个单位,来达到覆盖你想删除的元素的位置,从而达到删除的操作;举个例子:数组为int[] arr={1,2,3,4};你想删除索引为1(即数值为2)的元素,则你将3 和 4 向前移动一个单位(即3向前移动
2022-10-12 18:42:50
76
原创 聊聊java
1.java的发展历史现状一、java的前身1990年,由于单片式计算机系统的火爆,sun公司为了抢占市场,成立了包括詹姆斯·高斯林在内的green小组,主要攻克家电的嵌入式应用,这些家电由于当时硬件的限制,计算处理能力和内存都非常有限,这就要求在极为紧凑的硬件中必须写入大量代码,且当时的嵌入式处理器芯片的种类繁杂,这对跨平台性要求极高,所以采用的语言必须具备简单、可移植、高性能等特点。当时最流行的语言是C++,所以green小组优先考虑使用C++编写程序,但是在实践过程中却发现单片机的硬件资源极其匮
2022-08-14 11:46:27
466
原创 面向对象:类与对象、继承,接口
类其实就是一个模板,比如说类就好比一张房子的设计图纸,或者说是一个倒印模具,创建一个类就好比设计一张图纸,刻一个模板。对象就好比一座建好的房子,一个成型的模型,无疑想要一座房子或者一个模型都先需要一张图纸和一个模板,而这就是类和对象的关系。首先Java里面的类由关键字class定义,类中的元素称为:成员属性。类中的函数称为:成员方法。class Person { public int age;//成员属性 实例变量 public String name; publ......
2022-07-25 18:19:13
336
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人