- 博客(109)
- 资源 (2)
- 收藏
- 关注
原创 大厂高频面试题——如何完全同时启动两个线程?
在很多面试场景和真实工作场景中,我们都会碰到多线程编程。多线程编程允许我们并发运行线程,其中每个线程可以处理不同的任务。因此,它可以最佳地利用系统资源,尤其当我们的计算机拥有多核 CPU 或多个 CPU 时。有时,我们想控制多个线程同时启动。在这篇文章里,我们首先要了解 “同时” 的含义。此外,我们将讨论如何在 Java 中同时启动两个线程。一、可以完全同时启动线程吗?我们的目标是:“同时启动两个线程。”这个目标看起来很容易理解。但是,如果我们仔细思考一下,完全同时启动两个线程真的可能吗?首先
2021-08-29 21:19:55 1601 1
原创 【补】Java 常见面试题(3~8)
1、对象由什么组成?对象头、实例数据、对齐填充(占位符)2、对象头里有什么?运行时数据、类型指针、数组长度3、非双亲委派模型有哪两种?线程上下文类加载器OSGi4、JVM的哪些内存需要被回收?堆内存5、JVM线程并行和并发的区别?并行:多条垃圾收集线程同时工作,但此时用户线程处于等待状态;并发:用户线程与垃圾收集线程同时执行。6、JVM的指令集有哪两种?基于栈的指令集(JVM默认)。可移植,但执行速度较慢;基于寄存器的指令集。主流物理机所用。7、分布式CAP代表什么?一致性(
2021-08-08 16:28:33 249
原创 Java常见面试题(第 11 弹)
1、对象没有与GCRoots关联,是否还可以存活?可以。对象没有与GC Roots关联时,会被虚拟机标记一次(缓刑)。但如果对象没有覆盖finalize方法或finalize方法已经被虚拟机调用过,虚拟机将不会再执行 finalize 方法,对象将能存活。2、对象没有与GCRoots关联,且被执行了finalize方法,是否还可以存活?可以。因为虚拟机所谓的执行finalize方法只是“触发”,不承诺会等待它运行结束。只要对象在被执行finalize方法期间,重新与引用链上的任何一个对象建立关联.
2021-07-30 22:51:31 275
原创 Java常见面试题(第十弹)
1、Tomcat为什么默认禁用SSI和CGI功能?因为 SSI 和 CGI 都可以用于执行 Tomcat JVM 外部的程序,很危险。2、tomcat线程数和连接数的设置取决于什么?线程数的设置既与应用的特点有关,也与服务器的CPU核心数量有关;连接数的设置与Tomcat的运行模式有关,如果tomcat用的BIO,那连接数应该与线程数保持一致,如果tomcat使用NIO,那连接数应该远大于线程数。3、jar加载的顺序取决于什么?取决于操作系统4、Maven仓库的优先级?本地仓库 > .
2021-07-30 22:50:57 136
原创 计算机网络常见面试题(第十弹)
1、浏览器发出的POST请求的body有哪两种格式?1)application/x-www-form-urlencoded用来传输简单的数据,即"key1=value1&key2=value2"这样的格式。2)上传文件会采用multipart/form-data格式。采用后者是因为application/x-www-form-urlencoded的编码方式对于文件这种二进制的数据非常低效。2、HTTP有哪些类似协议?Gopher:在1990年代早期被HTTP取代的内容传递协议;SPDY:G
2021-07-28 23:33:23 214 1
原创 万字长文!多图预警!46张图彻底搞懂 IP 基础知识!
写在前面这是1969年10月29日的互联网。这一天的22点30分,在加州大学洛杉矶分校(UCLA)的计算机实验室,Leonard Kleinrock(伦纳德·克莱因洛克)教授发送了人类第一封互联网消息,跨越了数千公里,到达了西北部的斯坦福大学研究院(SRI)。1969年的互联网这条消息的内容是“LO”,含义是“登录”,是用来远程登录SRI计算机的命令。第一次发送时SRI的计算机崩溃了,导致发送失败,修复后第二次才成功登录SRI的远程计算机。至此,人类的互联网开始成型。时间到了1978年,为了支持
2021-07-06 18:24:40 972 2
原创 大家好,我是Java!
欢迎关注我的公众号:小谢backup1995年5月23日,我出生在一家叫做Sun的公司里,当我睁开眼开始了解外面的世界时,发现一切都是那么陌生而熟悉。早在出生前,我就已经在很多家用电器上生活了,更准确地说,是我的前世Oak(橡木)。最早可以追溯到1990年代初,被一个叫做詹姆斯·高斯林的人在沙丘路旁的一间工作室里创造出来,门外就是一颗大橡树。在我们程序的世界里,他就是上帝般的存在。搭上互联网的快车起初,人们并不知道将我用在哪里,据说我的前世在家用电器上的表现平平,不能给人们带来多少用处。因
2021-06-06 13:03:24 232 1
原创 Kafka常见面试题(第一弹)
1、Kafka 可以脱离 zookeeper 单独使用吗?为什么?kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。2、kafka 有几种数据保留的策略?kafka 有两种数据保存策略:基于过期时间和基于存储的消息大小。3、什么情况会导致 kafka 运行变慢?cpu 性能瓶颈磁盘读写瓶颈网络瓶颈4、Kafka中的分区器、序列化器、拦截器的处理顺序是什么?拦截器->序列化器->分区器5、Kaf
2021-05-21 01:21:42 196
原创 Java常见面试题(第二弹)
欢迎关注我的技术公众号:小谢backup1、sleep() 和 wait() 有什么区别?类的不同:sleep() 来自 Thread,wait() 来自 Object。释放锁:sleep() 不释放锁;wait() 释放锁。用法不同:sleep() 时间到会自动恢复;wait() 可以使用 notify()/notifyAll()直接唤醒。2、线程的 run() 和 start() 有什么区别?start() 方法用于启动线程,run() 方法用于执行线程的运行时代码。run() 可以重复
2021-05-18 20:14:58 254 4
转载 计算机网络常见面试题(第一弹)
欢迎关注我的公众号:小谢backup。持续更新更多常见面试题!1、滑动窗口和流量控制的关系TCP 利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率,保证接收方来得及接收。接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。2、URI和URL的区别是什么?URI的作用像身份证号一样,URL的作用更像家庭住址一样。URL是一种具体的URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。3、Sessio
2021-05-18 19:59:30 112
原创 数据库常见面试题(第一弹)
标题1、数据库如何优化性能?SQL优化加缓存分库分表读写分离系统配置优化、硬件优化标题2、索引的缺点索引一般比较大,存在磁盘中,占空间而且IO操作多了会耗时。对表记录写操作时,对有索引字段需要调整索引,耗时。标题3、索引分类?(逻辑角度)主键索引唯一索引普通索引多列索引空间索引标题4、数据库并发造成的读问题有哪些?脏读不可重复读幻读标题5、如何解决数据库的并发读问题?读提交可重复读序列化标题6、InnoDB(默认)和MyISAM的区别InnoDB支持行锁;
2021-05-18 19:27:14 127
原创 Java常见面试题(一)
1、锁优化有哪些思路?减少锁持有时间减小锁粒度锁分离锁粗化锁消除2、虚拟机是怎么优化锁的?偏向锁轻量级锁自旋锁3、javac编译可分为哪三个步骤?解析与填充符号表过程;插入式注解处理器的注解处理过程;语义分析与字节码生成过程。4、基本垃圾回收算法有哪些?引用计数(Reference Counting)标记-清除(Mark-Sweep)复制标记-整理(Mark-Compact)5、引用有几种类型 ?强引用软引用弱引用虚引用6、类加载器的分类有哪些?启动类加载器
2021-03-11 23:11:11 105
原创 我是一块硬盘
大家经常吐槽我的速度慢,说我是机械装置。但是谁没有缺点呢?况且,我持久化数据、容量大、价格低的优势,分分钟可以碾压CPU和内存老弟!今天,我想向世人介绍我自己,我相信,在我介绍完之后,大家一定能够开始理解并真正喜欢上我。下面是我的外表,一块金属片,和一些机械装置。今天,我的容量已经可以达到1TB甚至1PB的大小,在计算机中起到了举足轻重的作用!而我的内部也非常丰富!我的内部由一个主轴串着许多...
2020-01-31 17:31:45 466
原创 我是线程夏娃
我睁开了眼睛,周围像是一个花园,一个男人朝我走过来,他微笑着对我说:“你好,我是线程亚当,刚刚我调用了操作系统的库函数thread_create创造了你。”“创造了我?那我应该叫你什么?”我疑惑不解。“哦,不用担心,我们是平等的个体,不存在附属关系,就叫你线程夏娃吧!”夏娃,这是我的名字,我是一个线程,亚当也是一个线程。我对自己的了解开始多了起来。“只有我们两个人么?”我问他。“暂时就我们两个...
2020-01-30 20:36:22 261
原创 课堂的讨论——冯诺依曼模型
“叮叮叮”,上课的铃声响起,计算机班本学期的第一课开始了。吵闹的教室开始安静下来,永远坐在第一排的CPU学霸率先翻起了课本,正在化妆的总线还在得意于她苗条的身材,坐在角落里吃冰淇淋的小云还在舔着他的嘴角,意犹未尽。。。此时走进一位白发的老头,刚到讲台就开始自我介绍了起来,“大家好,我是你们本学期的班主任,也负责教大家有关计算机的课程,还请多多指教。”这时候跑进来一个长发飘飘的姑娘,这是路由器...
2020-01-30 13:37:09 767
原创 Linux清空屏幕和清空当前输入的快捷键
通常我们在需要把以前的屏幕输出清空,在一个干净的控制台输入新命令时,会使用 clear 命令或 reset 命令清空当前屏幕,但有个快捷键也能实现相同的功能:清空屏幕快捷键:ctrl + l另外,在命令行窗口输入了很长的一段命令加命令参数,却发现输入错了,实际应该输入另外一个命令。这个时候,不能敲回车键,因为命令是错误的,但点击删除键,需要点击半天才能把所有的输入字符一个个删除完。下面介...
2020-01-02 11:52:37 2321
原创 Linux基本命令
rm:删除文件或目录使用rm命令要小心,因为文件删除后不能恢复-f 强制删除,忽略不存在的文件,无需提示-r 递归地删除目录下的内容,删除文件夹时必须加此参数touch创建文件或修改文件时间 如果文件不存在,可以创建一个空白文件如果已经存在,可以修改文件的末次修改日期通配符的使用*-----代表任意个数个字符?-----代表任意一个字符,至少一个[] ------...
2019-12-28 23:42:32 791
原创 期刊第一期
编程1、一些编程语言的字符串分割函数,php比较独特:在这里插入图片描述2、什么是递归?从前有座山,山里有座庙,庙里有个老和尚和一个小和尚。有一天,老和尚对小和尚说:“从前有座山,山里有座庙,庙里有个老和尚和一个小和尚。有一天,老和尚……”。3、Java中诸如字符串、常量这类都是传值的,对象、数组都是传引用。传值不会改变原有值,而传引用的会修改原有字面值。图片1、【五十年的变化】...
2019-06-22 15:08:09 385
原创 数据库并发读与隔离级别
数据库并发造成的问题脏读(针对未提交数据)如果一个事务中对数据进行了更新,但事务还没有提交,另一个事务可以“看到”该事务没有提交的更新结果,这样造成的问题就是,如果第一个事务回滚,那么,第二个事务在此之前所“看到”的数据就是一笔脏数据。不可重复读(针对其他提交前后,读取数据本身的对比)不可重复读取是指同一个事务在整个事务过程中对同一笔数据进行读取,每次读取结果都不同。如果事务1在事务2的更...
2018-11-24 19:08:49 500
原创 安全证书&算法相关
对称加密和非对称加密技术对称加密所谓的“对称加密技术”,意思就是说:“加密”和“解密”使用【相同的】密钥。这个比较好理解。就好比你用 7zip 或 WinRAR 创建一个带密码(口令)的加密压缩包。当你下次要把这个压缩文件解开的时候,你需要输入【同样的】密码。在这个例子中,密码/口令就如同刚才说的“密钥”。常用的对称加密算法有:DES,3DES,AES(目的是取代DES)等。非对称加密所...
2018-11-24 19:07:46 1153
原创 基于栈(内存中)的指令集与基于寄存器(CPU中)的指令集
Java编译器输出的指令流,基本上是一种基于栈的指令集架构(Instruction Set Architecture,ISA),指令流中的指令大部分都是零地址指令,它们依赖操作数栈进行工作。与之对应的另一套常用的指令集架构是基于寄存器的指令集,最典型的就是x86的二进制指令集,说的通俗一点,就是现在我们主流PC机中直接支持的指令集架构,这些指令依赖寄存器工作。使用"基本上",是因为部分字节码会带...
2018-11-24 19:03:01 1801
原创 两种内存模型——JVM vs 计算机
计算机的内存模型JVM的内存模型+JVM架构注意,JVM的内存模型跟计算机的内存模型可以类比,比如CPU可以类比线程,高速缓存可以类比为工作内存。而内存模型与JVM架构之间是有区别的。JVM的架构我这里也贴出来,如下:...
2018-11-24 18:58:57 427
原创 OSGI——更灵活的类加载器架构
本篇文章是看了深入理解JVM关于OSGI后的一点个人理解和笔记OSGI(Open Service Gateway Initiative)是一种与类加载器有关的规范,也可以将其视作一种架构或者模型框架。我们都知道,JVM中类加载器的结构是树状的,其原因是使用了双亲委派模型,这一个模型没啥不好,主流也是用这个,但树状结构相比更复杂的场景而言不够灵活;而OSGI规范之下的类加载器架构是网络状的,允...
2018-11-24 18:57:51 587
原创 容易引发歧义的数组和链表
在面试或者看书的时候经常有这样的问题:“数组和链表的区别是什么?”这看起来是一个再简单不过的基础题了,大部分人的回答是这样的:“数组随机查找快,增删元素慢,因为查找只需要给出下标即可访问元素,增删则需要移动其它元素;链表与此相反,查找慢,因为要遍历链表,增删快,因为只需要改下引用指向即可。"听起来没什么问题,这个回答也是正确的,但是这并不适合所有场景。怎么说?所谓的数组随机查找快是因为给出了下...
2018-11-24 18:55:41 226
原创 TCP连接那点事
TCP连接是抽象的,可以将其视作一条数据通道,为了方便理解,我画了一幅图:从图中可以看到,TCP连接从从一端的运输层开始,到另一端的运输层结束,中间经过了互联网和下层协议。注意TCP连接的两端是被称为socket的东西,socket也是一种抽象,是对IP:端口的抽象,因此socket也是运输层的概念。数据的流动那数据是在TCP连接中流动的呢?下面我们尝试用抽象的角度来说明:如果应用使...
2018-11-24 18:51:09 477
原创 对Java跨平台的理解
欢迎关注我的公众号——日更的小易Java的厉害之处在于,下载JDK的时候我们就已经解决了跨平台的问题。——小易我们经常说的Java跨平台,是指Java语言的跨平台,而Java语言下面的Java虚拟机是不跨平台的!甚至JDK(因为包含了JVM)也是不跨平台的!不同平台(包括不同系统和不同位数)都有不同的JVM,但是我们不需要关心,因为我们下载JDK的时候已经解决了跨平台的问题了,如下图:...
2018-11-24 18:48:37 703
原创 Netty的线程IO模型
Netty是一个通信框架,致力于实现在不同机器上的线程通信,底层是用线程的NIO模型实现的,靠事件驱动。Netty的一个特点就是异步非阻塞IO,简称异步NIO(non-blocking IO),正因为Netty的异步NIO实现很可靠,促成了Netty在软件开发特别是分布式应用中的风靡。那什么是异步非阻塞IO呢?这要从线程的IO模型说起。异步阻塞IO我们都知道,在两台不同机器上的两个线程如果要...
2018-11-24 18:45:38 651 1
原创 127. Word Ladder
Given two words (beginWord and endWord), and a dictionary’s word list, find the length of shortest transformation sequence from beginWord to endWord, such that:Only one letter can be change...
2018-04-03 10:50:18 239
原创 子集和问题(动态规划)
判断数组中是否存在子集,使得子集之和等于指定数target:(动态规划)//动态规划方法一public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { ...
2018-04-02 18:10:27 3611
原创 48. Rotate Image
You are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Note: You have to rotate the image in-place, which means you have to modify the input 2D matrix d...
2018-03-30 21:10:58 172
原创 196. Delete Duplicate Emails
Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.+—-+——————+ | Id | Email | +—-+——————+ | 1 | john@...
2018-03-29 17:34:04 254
原创 182. Duplicate Emails
Write a SQL query to find all duplicate emails in a table named Person.+—-+———+ | Id | Email | +—-+———+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +—-+———+For example, your query s...
2018-03-29 17:32:54 219
原创 596. Classes More Than 5 Students
There is a table courses with columns: student and classPlease list out all classes which have more than or equal to 5 students.For example, the table:+———+————+ | student | class | +———+...
2018-03-29 16:37:29 201
原创 197. Rising Temperature
Given a Weather table, write a SQL query to find all dates’ Ids with higher temperature compared to its previous (yesterday’s) dates.+———+————+——————+ | Id(INT) | Date(DATE) | Temperature(INT) | +...
2018-03-29 16:20:08 192
原创 183. Customers Who Never Order
Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL query to find all customers who never order anything.Table: Customers.+—-+——-+ | Id | Name | +—...
2018-03-29 16:08:18 171
原创 181. Employees Earning More Than Their Managers
The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id. +—-+——-+——–+———–+ | Id | Name | Salary | Manage...
2018-03-29 15:39:13 219
原创 175. Combine Two Tables
T able: Person +————-+———+ | Column Name | Type | +————-+———+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +————-+———+ PersonId is the primary key co...
2018-03-29 15:16:56 189
原创 620. Not Boring Movies
X city opened a new cinema, many people would like to go to this cinema. The cinema also gives out a poster indicating the movies’ ratings and descriptions. Please write a SQL query to o...
2018-03-29 13:59:10 212
原创 257. Binary Tree Paths
Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 / \ 2 3 \ 5 All root-to-leaf paths are: [“1->2->5”, “1->3”...
2018-03-29 12:21:00 152
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人