Java中代码点与代码单元(转)】的更多相关文章

http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined.   package com.sinaapp.manjushri;  import javax.script.ScriptEngine;  import…
JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined.   package com.sinaapp.manjushri;  import javax.script.ScriptEngine;  import javax.script.ScriptEngineManager; import javax.script.Sc…
Java中常用的设计模式代码与理解 一.单例模式 1.饿汉式 (太饿了,类加载的时候就创建实例) /** * 饿汉式单例模式 */ public class HungrySingleInstance { // 在类加载时生成一个实例 private final static HungrySingleInstance instance = new HungrySingleInstance(); //因为类默认会有一个公有的无参构造,所以用私有的将其覆盖 private HungrySingleIn…
下面这两段代码有什么区别? //下列两个方法有什么区别 public synchronized void method1(){} public void method2(){ synchronized (obj){} } synchronized用于解决同步问题,当有多条线程同时访问共享数据时,如果不进行同步,就会发生错误,java提供的解决方案是:只要将操作共享数据的语句在某一时段让一个线程执行完,在执行过程中,其他线程不能进来执行可以.解决这个问题.这里在用synchronized时会有两种…
问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序表已满,无法添加"); //return; //需要吗? } .... } 为了回答这个问题,我编写了几段代码测试了一下,结果如下: //代码1 public…
文章持续更新,可以关注公众号程序猿阿朗或访问未读代码博客. 本文 Github.com/niumoo/JavaNotes 已经收录,欢迎Star. 这篇文章介绍几个 Java 开发中可以进行性能优化的小技巧,虽然大多数情况下极致优化代码是没有必要的,但是作为一名技术开发者,我们还是想追求代码的更小.更快,更强.如果哪天你发现程序的运行速度不尽人意,可能会想到这篇文章. 提示:我们不应该为了优化而优化,这有时会增加代码的复杂度. 这篇文章中的代码都在以下环境中进行性能测试. JMH version…
今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序表已满,无法添加"); //return; //需要吗? } .... } 为了回答这个问题,我编写了几段代码测试了一下,结果如下: //代码1 public sta…
总结一下最近程序中用到的代码吧,大部分不是自己写的,放到这里,备份一下,以后忘记了来看一下: //正则表达式验证手机号 public static void phoneTest(String phone) { /** * 目前移动.联通.电信三大运营商的手机号段如下: * 1.移动号段有: 134,135,136,137,138,139,147,150,151,152,157,158,159,178,182,183,184,187,188; * 2.联通号段有: 130,131,132,155,…
Java concurrent in practice是一本好书,不过太繁冗.本文主要简述第一部分的内容. 多线程 优势 与单线程相比,可以利用多核的能力; 可以方便的建模成一个线程处理一种任务; 与异步模型相比,多线程同步模型更简单; 通过分离界面线程和工作线程, 可用于创建灵敏的用户界面. 劣势 多线程模型下,对象的状态不在受顺序执行的安全保护,而是需要同步. 同步下可能会出现不一致的问题,如死锁,饥饿. 多线程上下文切换开销可能会导致性能下降. 线程安全和同步 线程安全就是正确的同步状态,…
为了回答这个问题,我编写了几段代码测试了一下,结果如下:  代码1:throw new Exception("参数越界");   System.out.println("异常后"); //编译错误 代码2: try{   throw new Exception("参数越界"); }catch(Exception e) {   e.printStackTrace(); } System.out.println("异常后");//…
一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } } 二.构造代码块 直接在类中定义的没有加static关键字的代码…
一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } } 二.构造代码块 直接在类中定义的没有加static关键字的代码…
1.java虚拟机执行程序,首先须要装载类,安装现装载父类,初始化父类的静态代码块和静态成员变量 再load子类. 初始化子类静态代码块和成员变量 2.load完成父类与子类后,从main函数入口运行程序.先输出,接着new实例化Beetle类,则先实例化父类Insect,实例化父类时.先初始化非静态成员变量和非静态代码块,接着运行父类构造方法 再实例化子类,实例化子类时,先初始化非静态成员变量和非静态代码块,接着运行子类构造方法. package it.xiangnan.test; publi…
父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class A { A() { System.out.println("A构造方法"); } { System.out.println("A构造代码块"); } static{ System.out.println("A静态码块"); } public sta…
执行顺序:父类静态块-->子类静态块-->父类非静态块-->父类构造方法-->子类非静态块-->子类构造方法 当父类或子类中有多个静态方法时按在代码中的顺序执行 package day1015; /** * @author donleo * date 2019-10-15 * code 代码执行顺序 */ public class Father { static { System.out.println("Father中静态代码块一"); } static…
总结:函数的重要性,懂得用哪一种函数 package com.badu; import java.util.Scanner; //输入存款金额 money.存期 year 和年利率 rate, //根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数. // interest = money(1+rate)^year – money public class Acc { public static void main(String[] args) { Scanner c…
ServletActionContext.getRequest().getSession().invalidate();…
public class Test1 { public static void main(String args[]) { System.out.println(getLineInfo()); getExp(); } public static String getLineInfo() { StackTraceElement ste = new Throwable().getStackTrace()[1]; return ste.getFileName() + ": Line " +…
主要运用双层for循环嵌套,进行冒泡排序 public class BubbleSortTest { public static void main(String[] args) { int[] arr = new int[]{-12,3,2,34,5,8,1}; //冒泡排序 for(int i = 0;i < arr.length-1;i++){ for(int j = 0;j <arr.length-1-i;j++){ if(arr[j] >arr[j+1]){ int temp…
/* 匿名对象:就是没有名字的对象. 匿名对象的应用场景: A:调用场景,仅仅只调用一次的时候. 注意:调用多次的时候,不合适. 那么,这种匿名调用有什么好处吗? 有,匿名对象调用完毕就是垃圾.可以被垃圾回收器回收. B:匿名对象可以作为参数传递*/class Student { public void show(){ System.out.println("我爱学习"); }} class StudentDemo{ public void method(Student s){ s.s…
在Java中,什么是代码点与代码单元? 代码点(Code Point):在 Unicode 代码空间中的一个值,取值 U+0000 至 U+10FFFF,代表一个字符. 其中U+0000到U+FFFF为基本字符,U+10000到U+10FFFF为增补字符. 代码单元(Code Unit):在具体编码形式中的最小单位.比如 UTF-16 中一个 code unit 为 16 bits,UTF-8 中一个 code unit 为 8 bits. 对应关系: 一个 code point 可能由一个或多…
转自:https://www.jb51.net/article/72901.htm Java try和catch的使用 尽管由Java运行时系统提供的默认异常处理程序对于调试是很有用的,但通常你希望自己处理异常.这样做有两个好处.第一,它允许你修正错误.第二,它防止程序自动终止.大多数用户对于在程序终止运行和在无论何时错误发生都会打印堆栈轨迹感到很烦恼(至少可以这么说).幸运的是,这很容易避免. 为防止和处理一个运行时错误,只需要把你所要监控的代码放进一个try块就可以了.紧跟着try块的,包括…
Java中的路径问题 代码说明,如下: package com.merlin.test; import java.io.InputStream; public class Test { public static void main(String[] args) { new Test().testPath(); } public void testPath() { //使用getResourceAsStream()方法时,根路径指的是classpath,即src InputStream in0…
Java泛型(generics) 是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter).声明的类型参数在使用时用具体的类型来替换.泛型最主要的应用是在JDK 5中的新集合类框架中.对于泛型概念的引入,开发社区的观点是褒贬不一.从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误.而从不好的地方来说,为了保证与旧有版本的兼容性,Java泛型的实现上存在着一些不够优雅的…
1. Try块是什么? Try块是一块可能产生异常的代码块,一个Try块可能跟着Catch块或者Finally块,或者两者. Try块的语义: try{ //statements that may cause an exception } 2. Catch块是什么? 一个Catch块关联一个Try块,如果在Try块中有一个特定类型的异常发生,则响应的Catch块会执行,例如, 如果在Try块中arithmmetic exception发生,那么对应arithmmetic exception的Ca…
由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用.为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读取属性,即由用户给出属性名字(作为方法参数)来获取对应属性的Value值.下面是示例代码: import java.io.*; import java.util.*; import org.apache.commons.logging.Log; import org.apache.commons.l…
锁的本质 我们先来讨论锁的出现是为了解决什么问题,锁要保证的事情其实很好理解,同一件事(一个代码块)在同一时刻只能由一个人(线程)操作. 这里所说的锁为排他锁,暂不考虑读写锁的情况 我们在这里打个比方,假设有10个人要过独木桥(独木桥只能承载一个人的重量),他们可以排好队一个一个的过,后面一个人看到前面过去了之后他便跟着过去,直到所有的人都过去. 那如果我们用计算机模拟这个过程呢,没错,我们的程序不会排好队,更不会有看到前面的人已经通过这种主观能动性.所以这有点类似于所有的人都是蒙着眼睛的,但他…
javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-equivalent),自己稍作了修改,之前也看到过有人用2个数组实现了Map,但是我感觉效率比较低,现在这个我感觉效率还可以,自己做了下测试,代码如下: Map.js function Map(linkItems) { this.current = undefined; this._size = 0…
1. fail-fast简介“快速失败”也就是fail-fast,它是Java集合的一种错误检测机制.某个线程在对collection进行迭代时,不允许其他线程对该collection进行结构上的修改.例如:假设存在两个线程(线程1.线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简单的修改集合元素的内容),那么这个时候程序就会抛出 ConcurrentModificationException 异常,从而产生fail-fas…
java中调用kettle转换文件 通过命令行也能够调用,然后java中调用命令行代码也能够.这样没有和java代码逻辑无缝集成.本文说明kettle5.1中假设通过其它API和java代码无缝集成:网上大多数资料都是低版本号的.在kettle5.x中已经不能执行. 1.       须要哪些jar文件 以kettle开头的是必须,上图最以下三个也要:红色框中的两个是我測试转换用到的.各自是生成UUID和文件. 要是少了jar文件,执行程序一定报错.大家依据错误到kettle安装文件夹LIB中找…