![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java相关
CavalryOuO
up
展开
-
关于Java中的paint,repaint,update三个方法的关系
1. Java API 中的介绍吧:update public void update(Graphics g) 更新组件。 如果此组件不是轻量级组件,则为了响应对 repaint() 的调用,AWT 调用 update() 方法。可以假定未清除背景。 Component 的 update 方法调用此组件的 paint 方法来重绘此组件。为响应对 repaint转载 2017-05-24 16:08:23 · 1454 阅读 · 0 评论 -
this引用逸出
《Java 并发编程实践》3.2章里面的关于发布和逸出的部分,主要是构造过程中this引用的逸出。public class ThisEscape { public ThisEscape(EventSource source){ source.registerListener( new EventListener(){原创 2017-11-26 20:17:39 · 1337 阅读 · 0 评论 -
java中的Runnable和Thread
在Java当中,线程通常都有五种状态: 第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。 第二是就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。 第三是运行状态。线程调度程序将处于就绪状原创 2017-05-29 21:46:16 · 571 阅读 · 0 评论 -
Java向下转型
在向下转型过程中,分为两种情况:情况一:如果父类引用的对象是指向的子类实例,那么在向下转型的过程中是安全的。也就是编译是不会出错误的。情况二:如果父类引用的对象是父类实例,那么在向下转型的过程中是不安全的,编译不会出错,但是运行时会出现java.lang.ClassCastException错误。class Father{}class Son extends Father{ public s原创 2018-02-06 17:23:47 · 1338 阅读 · 0 评论 -
检查异常和未检查异常
声明:文章为转载内容,且在原文章基础上做了一些整理,原文链接见文章底部测试代码public class ExceptionTypeTest { public void doSomething()throws ArithmeticException{ System.out.println(); } public static转载 2018-02-06 18:07:18 · 3017 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
本文转载自http://www.cnblogs.com/dolphin0520/p/3920397.html一.CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLa转载 2018-02-17 20:55:47 · 294 阅读 · 0 评论 -
Java中Class类及用法
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。说白了就是:Class类也是类的一种,只是名字和class关键字高度相似。Ja转载 2017-09-12 22:51:57 · 783 阅读 · 0 评论 -
异常处理机制
异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等待,或死循环。异常有两个过程,一个是抛出异常;一个是捕捉异常。抛出异常抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常。下面它们之间的异同。系统自动抛异常当程序语句出现一些逻辑错误、主义错误或类型转换错误时,系统会自动抛出异常。如:public st转载 2017-09-12 22:50:54 · 349 阅读 · 0 评论 -
Java Swing GUI 事件分发线程
一、事件分发线程和主线程 默认情况下,所有的AWT或者基于Swing的应用程序,都是开始于两个线程的。其中一个就是主线程,它处理main方法里面的代码。另外一个线程,被称作“事件分发线程”(Event-dispatching thread),它负责处理事件、绘图、和布局。所有在主线程中编写的对GUI进行绘制、处理的语句都会在后台自动放入到事件分发线程中等待处理,而除主线程之原创 2017-05-24 16:55:42 · 826 阅读 · 0 评论 -
java swing中setVisible(true);方法的真正作用
setVisible(true);方法的意思是说数据模型已经构造好了,允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上了,并不是显示图形,而是可以运行开始画图了。这个方法和java多线程的start方法有点异曲同工之妙,start方式是允许run方法运行了,start方法和setVisible方法很相似。但为了安全起见,还是要把setVisible方法放到最后面。...转载 2017-05-26 22:17:57 · 35051 阅读 · 1 评论 -
equals()方法很多情况下需要重写
Object对象内置equals方法,默认是比较引用。所以所有extends它的类都有了这个方法,但是每个类比较的方式是不一样的,String Overidding了equals方法,但是有些类如StringBuffer没有override equals方法,所以无法使用equals方法比较两个StringBuffer.同理 数组对象没有实现equals方法,所以无法比较。 equals方转载 2017-05-29 21:53:53 · 828 阅读 · 0 评论 -
java中字节数组转换为字符串
1、字节数组转换为字符串byte[] byBuffer = new byte[20];... ...String strRead = new String(byBuffer);strRead=String.copyValueOf(strRead.toCharArray(), 0, byBuffer.length]);2、字符串转换成字节数组byte[] byBuffer =转载 2017-05-29 21:56:59 · 14153 阅读 · 0 评论 -
C/C++/JAVA回车残留问题
C:scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中); getchar()以Enter结束输入,也不会舍弃最后的回车符; gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符!C++:输入流的get()不舍弃回车,需要用getline()吸收回车。getline ()舍弃回车。J原创 2017-05-29 22:04:00 · 1137 阅读 · 1 评论 -
java子类创建时会首先构造父类
class A{public A(){} // 1:无参数构造方法。public A(String s){} // 2.}class B extends A{public B(String s){super(s); // 3.}}说明:如果没有1处的无参数构造方法,那么3处一定要主动调用父类带参数的构造方法。如果有1处的构造方法,那么3处代码转载 2017-05-29 21:51:25 · 597 阅读 · 0 评论 -
Java泛型中的命名规则(标识符含义)
E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number(数值类型)? - 表示不确定的java类型 S、U、V - 2nd、3rd、4th types转载 2017-05-29 21:40:06 · 3751 阅读 · 0 评论 -
Java中普通代码块,构造代码块,静态代码块区别及代码示例
//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1 普通代码块 1//普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行” 2publicclass CodeBlock01{ 3publicstati转载 2017-05-29 21:32:26 · 189 阅读 · 0 评论 -
泛型详解
1.定义简单Java泛型 其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java_Generics,这里边的K和V就象方法中的参数str1和str2,也是可变。下面看看例子:转载 2017-09-12 22:49:50 · 206 阅读 · 0 评论 -
C++/Java中string的几点不同
一.关于二元运算符”==”C/C++: 1.在比较两个字符数组时不能利用符号“==”,“==”符号比较的是两个字符数组的地址是否相等。 2.若是比较两个字符,则可以用”==”直接进行比较 3.但在比较两个string对象时是可以利用“==”的,直接比较string的内容,相等的话,则表达式的返回值为1,不等为0。因为C++重载了”==”运算符,比较两个string对象的内容。 Jav...原创 2018-04-11 22:59:35 · 725 阅读 · 0 评论