随笔分类 - java
摘要:Java语言虽然内置了多线程支持,启动一个新线程非常方便,但是,创建线程需要操作系统资源(线程资源,栈空间等),频繁创建和销毁大量线程需要消耗大量时间。 如果可以复用一组线程: 那么我们就可以把很多小任务让一组线程来执行,而不是一个任务对应一个新线程。这种能接收大量小任务并进行分发处理的就是线程池。
阅读全文
摘要:wait和sleep的区别 相同:1.执行Sleep()方法和Waiting()方法都会释放运行权,即让出CPU 2.执行Sleep()方法和Waiting()方法都会让当前线程进入阻塞状态 不同点:1.wait只能在同步(synchronize)环境中被调用,而sleep没这个限制。2.进入wai
阅读全文
摘要:线程安全问题: 线程安全出现的根本原因: 1.存在两个或者两个以上的线程对象共享同一个资源; 2.多线程操作共享资源代码有多个语句。 一、使用同步代码块 如:卖票案例 出现了线程安全 重复的票不能出现 步骤:成员位置建立锁对象; synchronized(锁对象){ 出现安全问题代码 } 注意事项:
阅读全文
摘要:JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程继承Thread类的方法尽管被
阅读全文
摘要:HashMap和Hashtable的区别一、HashMap简介HashMap是在JDK1.2中引入的Map的实现类。 1.HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阈值)时,同样会自动增长。 2. HashMap是非线程安全
阅读全文
摘要:1.请写出两个变量的数值交换,但不借助第三个变量的代码: 方法一: public class Main{ public static void main(String[] args){ int a=11; int b=22; System.out.println("before:a="+a+",b=
阅读全文
摘要:String String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 这个是String类的解释,之前童鞋看到这个情况,不能理解上述的解释,如下 String a = "123"; a = "456"; // 打印出来的a为456
阅读全文
摘要:java.util.Scanner 是 Java5 的新特征,可以通过 Scanner 类来获取用户的输入。 Scanner sc = new Scanner(System.in); 通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用
阅读全文
摘要:switch关键字由于笔试和面试经常会问到它的用法,这里做了一个简单的总结: 能用于switch判断的类型有:基本数据类型:byte、short、int、char(JDK1.6),还有引用数据类型:枚举类型,但是在JDK1.7后添加了对String类型的判断 case语句中少写了break,编译不会
阅读全文
摘要:Java中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等,随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。 首先,来了解下数据类型的基本理解:数据是用来描述数据的种类,包括其值和基于其值基础上的可进行的操作集合。
阅读全文
摘要:概要:什么是字面值 字面值是指在程序中无需变量保存,可直接表示为一个具体的数字或字符串的值。比如在a = b * 2这个语句中,2就是一个字面值,它本身就是一个具体的值。 在Java源代码中,字面值用于表示固定的值(fixed value)。数值型的字面值是最常见的,字符串字面值可以算是一种,当然也
阅读全文
摘要:先做个说明,里面所有的题都是我自己写的解题报告,由于我的能力有限,是个刚学java的小白,有很多不足的地方,还望各位大佬不奢赐教,谢谢! Largest product in a grid In the 20×20 grid below, four numbers along a diagonal
阅读全文

浙公网安备 33010602011771号