【Java并发知识点汇总】】的更多相关文章

1,ArrayList 为什么线程不安全(https://www.jianshu.com/p/41be1efe5d65)…
Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_33945246/article/details/89922244 为了找到心仪的工作而努力吧 最近在刷各种面经,把刷过的知识点汇总一下以便查漏补…
前言 先列出java并发涉及的知识点,后面再慢慢补. java并发 1 常见概念 进程/线程 进程:程序执行的实体,操作系统资源调度资源分配的基本单元 线程:程序执行的最小单元,拥有独立的堆栈和局部变量等属性,可以共享进程的资源 同步(Synchronous)/异步(Asynchronous) 同步是串行执行,阻塞 异步是并行执行,非阻塞 并发/并行 并发:多个任务交替执行 并行:多个任务同时执行 临界区 阻塞(Blocking)/非阻塞(Non-Blocking) 死锁/饥饿/活锁 JMM(j…
前言:Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.同时,如果想要提升自己的技术,Java并发知识必不可少,这里简单整理了一些相关内容,希望可以起到抛砖引玉的作用. 1,Java内存模型是什么? Java内存模型规定和指引Java程序在不同的内存架构.CPU和操作系统间有确定性地行为.它在多线程的情况下尤其重要.Java内存模型对一个线程所做的变动能被其它线程可见提供了保证,它们之间是先行发生关系.这个关系定义了一些规则让程序员在并发编程时思路更清晰.比如,…
1.ConcurrentHashMap使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全. 2.Arrays.asList().将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOpe…
OOP:(Object Oriented Programming )面向对象编程 重用性.灵活性和扩展性 高内聚.低耦合 面向过程编程与面向对象编程的区别:举例,自己做饭吃与去饭馆吃,去饭馆只需要知道吃什么菜就行,不需要知道怎么做的 AOP AOP:(Aspect Oriented Programming)面向切面编程 优点:降低模块之间的耦合度.可植入性强.简单易用 缺点:性能低 Spring AOP 实现过程: 1.首先启动spring切面自动代理  <aop:aspectj-autopro…
1.路径分隔符问题: 因为java有跨平台行,而在windows和linux中的目录分隔符是不同的.windows是"\" 而linux是"/"  所以必须想办法解决.在java的File的方法中我们发现了public static final String separator 这样系统就会根据系统信息得出分隔符.所以之前代码最好改为: 1 import java.io.File ; 2 import java.io.IOException ; 3 public c…
java webservice 获取传入IP axis.jar    servlet.jar MessageContext mMsgContext = MessageContext.getCurrentContext();HttpServletRequest mRequest =   (HttpServletRequest) mMsgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST); String cClientIp = mReq…
1.什么叫多线程程序? 答:一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序. java编写的程序都是多线程的,因为最少有俩线程,main主线程和gc线程. 每个线程在栈区中都有自己的执行空间,自己的方法区.自己的变量. 线程为cpu增加了一条执行路径. 2.线程随机性执行? 答:随机性的原理:因为cpu的快速切换造成,哪个线程获取到了cpu的执行权,哪个线程就执行. 3.返回当前线程的名称:Thread.currentThread().getName(…
异常处理方法 对于非运行时异常(checked exception),必须要对其进行处理,否则无法通过编译. 处理方式有两种: 1.使用try..catch..finally进行捕获: 2.在产生异常的方法声明后面写上throws 某一个Exception类型,如throws Exception,将异常抛出到外面一层去. 对非运行时异常的处理详见代码例子: 处理方式1:将异常捕获 public class ExceptionTest2 { public void method() throws…