- 博客(6)
- 问答 (3)
- 收藏
- 关注
原创 几道常见的面试题及详解
1)说说get与post的联系和区别?get和post本质上都是tcp连接,但由于http协议和浏览器或者服务器的限制,从而使它们在应用过程中产生了差别。区别的话可以从三个层面来解答:http报文层面:get将请求信息放在url上,post放在报文体中数据库层面:get符合幂等性和安全性,post不符合其他层面:get可以被缓存、被存储,而post不行参考:get和post的区别?都9102年了,还问GET和POST的区别GET 和 POST 到底有什么区别?2)浏览器输
2021-02-27 00:19:15 221
原创 深入浅出带你读懂Java线程池(持续更新)
线程池简化了线程的管理工作,并且java.util.concurrent提供了一种灵活的线程池实现作为Executor框架的一部分。在Java类库中,任务执行的主要抽象不是Thread,而是Executor。Executor提供了一种标准的方法将任务的提交过程与执行过程解耦开来,并用Runnable来表示任务。Executor基于生产者-消费者模式,提交任务的操作相当于生产者(生成待完成的工作单元),任务执行的线程则相当于消费者(执行完这些工作单元)。如果要在程序中实现一个生产者-消费者的设计,那么最简单
2021-02-09 16:30:26 184
原创 深入浅出带你读懂Java并发基础(持续更新)
并发容器CopyOnWriteArrayList用于替代同步List,在某些情况下它提供了更好的并发性能,并且在迭代期间不需要对容器进行加锁或复制。“写入时复制(Copy-On-Write)”容器的线程安全性在于,只要正确地发布一个事实不可变的对象,那么在访问该对象时就不再需要进一步的同步。在每次修改时,都会创建并重新发布一个新的容器副本,从而实现可变性。同步工具类闭锁闭锁是一种同步工具类,可以延迟线程的进度直到其到达终止状态。闭锁的作用相当于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭的,并
2021-02-09 12:58:21 180
原创 深入浅出带你读懂线程安全性(持续更新)
基础知识如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式可以修复这个问题:不在线程之间共享该变量将状态变量修改为不可变的变量在访问状态变量时使用同步线程安全性的定义:当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么这个类是线程安全的。竞态条件:当某个计算的正确性取决于多个线程的交替执行时序时,那么就会发生竞态条件。换句话说,就是正确的结果取决于运气。最常见的竞态条件类型就是“先检查后执行”操作,即通过一个可能失效的观测结果来决定下一步的
2021-02-02 10:10:31 660
原创 深入浅出带你读懂Java多线程开篇(持续更新)
前置知识在此之前让我们了解一下操作系统,单处理器,多处理器,进程,线程的概念及它们之间的联系。在早期的计算机中不包含操作系统,它们从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行:操作系统为各个独立执行的进程分配各种资源,包括内存,文件句柄以及安全证书等。如果需要的话,在不同的进程之间可以通过一些粗粒度的通信机制来交换数据,包括:套接字、信号处理器、共享内存、信号量以及文件等。//todo picture为了
2021-02-02 07:13:32 250 1
原创 一年Java开发经验小公司面试总结
笔试ArrayList、LinkedList、Vector的实现方式mybatis中的动态SQL元素线程有几种实现方式SQL题给两张表,一张订单表,一张设备表,查询id=1的设备最近的一条订单数据。编程题买饮料问题,这个写出来了。面试都是根据你的简历来提问,不熟悉的东西慎写。聊项目,你在这个项目中担任了什么角色,做了什么事情。继续深挖项目,这个uuid是怎么实现的。会前端吗,怎么在页面之间传递数据。谈一下微服务网关的实现原理。重写写一下之前的SQL,查询所有设备的最新一条订单数据。
2021-02-01 04:36:01 680
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人