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 为了找到心仪的工作而努力吧 最近在刷各种面经,把刷过的知识点汇总一下以便查漏补…
1.什么叫多线程程序? 答:一个进程至少有一个线程在运行,当一个进程中出现多个线程时,就称这个应用程序是多线程应用程序. java编写的程序都是多线程的,因为最少有俩线程,main主线程和gc线程. 每个线程在栈区中都有自己的执行空间,自己的方法区.自己的变量. 线程为cpu增加了一条执行路径. 2.线程随机性执行? 答:随机性的原理:因为cpu的快速切换造成,哪个线程获取到了cpu的执行权,哪个线程就执行. 3.返回当前线程的名称:Thread.currentThread().getName(…
1.多线程安全问题 1)synchronized关键字:如何加锁的问题,选择synchronized方法还是synchnized代码块. 选择哪个锁问题,this对象,还是class对象(针对static方法或者变量),或者object对象 推荐使用同步代码块,因为加锁灵活,可以自己选择使用哪个锁,尤其一个类里面有多个同步方法时. 读写问题,保证多线程对同一对象的读写正常,不至于读到脏数据.读写方法共用同一个锁. 共享资源,这又涉及到单例模式的线程安全问题,线程池等. 2)线程安全类,比如str…
本实验主要考察多线程对单例模式的操作,和多线程对同一资源的读取,两个知识.实验涉及到三个类: 1)一个pojo类Student,包括set/get方法. 2)一个线程类,设置student的成员变量age和name的值为111和111 3)另一个线程类,设置student的成员变量age和name的值为222和2222 4)main类,for循环200次,分别创建200个线程1和线程2对同一资源访问.(共400个线程) 1.第一种情况:饿汉式单例模式保证多线程操控的是同一对象 //饿汉式单例模式…
一.什么叫原子性? 答:一个操作不会被分成两个时间片来执行,不会刚执行到一半,由于时间片到了,CPU就跑去执行其他线程了.在多线程环境中对一个变量进行读写时,我们需要有一种方法能够保证对一个值的操作是原子操作--即不可打断性,一个线程在执行原子操作时,其它线程必须等待它完成之后才能开始执行该原子操作. 二._beginthreadex()和CreateThread()的区别 转载:http://blog.csdn.net/morewindows/article/details/7421759 转…
OOP:(Object Oriented Programming )面向对象编程 重用性.灵活性和扩展性 高内聚.低耦合 面向过程编程与面向对象编程的区别:举例,自己做饭吃与去饭馆吃,去饭馆只需要知道吃什么菜就行,不需要知道怎么做的 AOP AOP:(Aspect Oriented Programming)面向切面编程 优点:降低模块之间的耦合度.可植入性强.简单易用 缺点:性能低 Spring AOP 实现过程: 1.首先启动spring切面自动代理  <aop:aspectj-autopro…
1.ConcurrentHashMap使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全. 2.Arrays.asList().将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOpe…
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…
异常处理方法 对于非运行时异常(checked exception),必须要对其进行处理,否则无法通过编译. 处理方式有两种: 1.使用try..catch..finally进行捕获: 2.在产生异常的方法声明后面写上throws 某一个Exception类型,如throws Exception,将异常抛出到外面一层去. 对非运行时异常的处理详见代码例子: 处理方式1:将异常捕获 public class ExceptionTest2 { public void method() throws…