package com.swift; public class DeadLock implements Runnable { private boolean flag; DeadLock(boolean flag) { this.flag = flag; } public void run() { while (true) { if (flag) { synchronized ("suo1") { System.out.println(Thread.currentThread().ge…
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.In…
package com.swift; public class Bank_Customer_Test { public static void main(String[] args) { /* * 两个客户往一个银行存钱,每人存三十次一次存一百. 模拟银行存钱功能,时时银行现金数. */ Customer customer = new Customer(); new Thread(customer, "zhangsan").start(); new Thread(customer, &…
package com.swift; import java.util.HashSet; import java.util.Random; import java.util.Set; public class Suijishu_Test { public static void main(String[] args) { /* * 获取 1-20 之间的随机数,共计 20 个,要求不能重 */ Random ran = new Random(); Set<Integer> set = new…
package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class IO_sort_content { public static void main(String[] args) { /* * 已知文件 a.txt 文件中的内容为“bcde…
package com.swift; public class Baby_Baomu_ProxyFactory_Test { public static void main(String[] args) { /* * 有一个Baby类,有Cry行为,Baby可以配一个保姆, * 但是作为保姆,必须遵守保姆协议:能够处理Baby类Cry的行为,如喂奶.哄睡觉. * 请根据以上描述设计一套代理设计模式 */ Baby baby=new ProxyFactoryBaby(new Baomu("一号保姆…
网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&page=2 参考资料:(java方面的一些面试答案) http://www.nowcoder.com/discuss/6890?type=0&order=0&pos=29&page=1 http://www.nowcoder.com/discuss/7342 一:java基础 1.java 集合类问题 2. hashMap相关问题…
Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承,多态的特性,可以设计低耦合的系统,有助于系统维护,扩展,复用 总结: 面向过程 优点:性能比面向对象高 缺点:易维护,易复用,易扩展性比较差 案例:Unix/Linux系统,单片机等等操作系统之类的 面向对象 优点:系统方便扩展,维护,复用 缺点:性能不如面向过程,类加载的时候需要实例化,比较消耗资…
对jdk,jvm,java应用程序的攻击多种多样?那么从java程序员的角度,如何写出安全的代码呢? 我是李福春,我在准备面试,今天的题目是:如何写出安全的java代码? 答:这个需要从功能设计到实现细节综合考虑,所谓的不安全,是攻击者利用jdk,jvm,java应用程序的瑕疵,或者是架构设计的缺陷进行攻击. 以dos攻击作为例子,分析一下如何写出安全的java代码. dos攻击是攻击者利用大量的机器发送请求,把目标java应用的的带宽或者其它资源(cpu,内存,磁盘)耗尽,导致正常用户无法正常…
JVM的内存结构 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1. Java虚拟机栈:线程私有:每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等:每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈. 2. 堆:线程共享:被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存放对象实例. 3. 方法区:线程共享:被所有线程共享的一块内存区域:用于存储已被虚拟机加载的类信息,常量,静态变量等. 4…