随笔分类 - java
摘要:Java中有两种实现多线程的方式。一是直接继承Thread类,二是实现Runnable接口。那么这两种实现多线程的方式在应用上有什么区别呢?继承Thread:一个线程对象只能启动一个线程,无论你调用多少遍start()方法,结果只有一个线程。实现Runnable:创建了四个线程,每个线程调用的是同一个ThreadTest对象中的run()方法,访问的是同一个对象中的变量(tickets)的实例。实现Runnable接口相对于继承Thread类来说,有如下显著的好处:(1)适合多个相同程序代码的线程去处理同一资源的情况,把虚拟CPU(线程)同程序的代码,数据有效的分离,较好地体现了面向对象的设计
阅读全文
摘要:import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;public class TestJDBC { /** * 当银行转账时,需要在汇款人账户上扣除汇款金额,同时在收款人账户上存入汇款金额, * 如果中间异常扣款但未实现转账,就需要事物处理,在出现异常情况下回滚到初始状态 */ public static void main(String[] args) { Connection conn = nul...
阅读全文
摘要:package com.itheima;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBCtest { public static void main(String[] args) { Connection conn = null; Statement stmt = null; Result...
阅读全文
摘要:package com.io;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;public class PropertyDemo { /** * 通过配置文件记录访问次数,例子:程序的试用次数。 */ public static void main(String[] args) { File...
阅读全文
摘要:package com.io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutputStreamDemo { /** * InputStream 往里读 * OutputStream 往外写 * 复制图片必须用到字节流 */ public static void main(String[] args) { FileInputStream fi...
阅读全文
摘要:public class FileCopy { /** * 1、在D盘创建一个文件,用于存储C盘文件中的数据。 * 2、定义读取流和C盘文件关联 * 3、通过不断的读写完成数据存储。 * 4,关闭资源 */ public static void main(String[] args) { FileWriter fw = null; FileReader fr = null; try { fw = new FileWriter("D:/java.txt",true); fw.write("abcde"); fw.flush(); fr = new File
阅读全文
摘要://最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!! public static void work(Map map) { Collection c = map.values(); Iterator it = c.iterator(); for (; it.hasNext();) { System.out.println(it.next()); } } //利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,...
阅读全文
摘要:package com.lm.multest;import java.util.HashMap;import java.util.Map;class Employee{ private String name; private double salary; public Employee(String n){ this.name = n; this.salary = 0; } public String toString(){ return "[name="+this.name+",salary="+this.salary+"]";
阅读全文
摘要:链表(linked list):是一个有序集合(ordered collection)。 List staff = new LinkedList(); staff.add("Bob"); staff.add("Amy"); staff.add("Carl"); Iterator itr = staff.iterator(); itr.next(); //先移动再删除 B|AC 删除光标之前的元素B itr.remove(); Iterator itra = staff.iterator(); while(itra.hasNext())
阅读全文
摘要:package com.lm.multest;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class Resource { private int num; private String name; private boolean flag = false; Lock lock = new ReentrantLock(); Condition notFull = lock.new
阅读全文
摘要:package com.lm.multest;/* * 通过分析,发现,打印出0,-1,-2等错票。 * 多线程的运行出现了安全问题。 * * 分析: * 问题的原因: * 当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完 * 另一个线程参与进来执行。导致共享数据错误。 * * 解决办法: * 对多条操作共享数据的语句,只能让一个线程执行完,在执行过程中,其他线程不可以参与执行。 * * Java对于多线程的安全问题提供了专业的解决的方式。 * * 就是同步代码块。 * * synchronized(...
阅读全文
摘要:package com.own.Single;/** * 单例模式:解决一个类在内存中只存在一个对象。 * * 建议使用饿汉式 * * 要保证对象唯一。 * 1、为了避免其它程序过多建立该类对象。先禁止其它程序建立该类对象。 * 2、还为了让其它程序访问到该类对象,只好在本类中,自定义一个对象。 * 3、为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。 * * 这三步怎么用代买体现呢? * 1、将构造函数私有化。 * 2、在类中创建一个本类对象。 * 3、提供一个方法获取到该对象。 * *//*饿汉式--类一创建就创建对象(安全)*/class Single { priva...
阅读全文
摘要:“如果类遵从某个特定接口,那么就履行这项服务”public interface Comparable
{ int compareTo(T other); //泛型 参数类型必须相同
}
阅读全文
摘要:package objectOriented; public class StaticA { * @param
args *
static静态:(共享数据) *
是一个修饰符,用于修饰成员(成员变量、成员函数) *
当成员被静态修士后,就多了一个调用方式,除了可以被对象调用外, *
还可以直接被类名调用,类名 .静态成员。(如:注释1) * * 特点: *
1、随着类的加载而加载 * 也就是说:静态会随着类的消失而消失,说明它的生命周期最长。 *
2、优先于对象存在 * 明确一点:静态时先存在,对象是后存在的。 *
3、被所有对...
阅读全文
摘要:package com.shuzu; public class shuzuJinZhiZhuanHuan { * @param a
所要转换的十进制数,b 不同进制所要与(&)的数不同,wei 向右移动几位 * 查表法 *
十进制转二进制 *
十进制转十六进制 *
定义数组字符表 *
定义数组容器arr,长度为32位(二进制) or 8位(十六进制) *
定义指针pos *
循环传入参数(int a),判断a的值如果不等于0继续循环 * * 60---0000
0000 0000 0000 0000 0000 0011 1100 *
&1...
阅读全文
摘要:package objectOriented; public class StaticMain { * @param
args *
主函数:是一个特殊的函数,作为程序的入口,可以被jvm调用。 * *
主函数的定义: *
public:代表着该函数访问权限是最大的 *
static:代表主函数随着类的加载就已经存在了 *
void:主函数没有具体的返回值 *
main:不是关键字,但是是一个特殊的单词,可以被jvm识别 *
函数的参数:(String[] args),参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组 * *
主...
阅读全文
摘要:在Java编程语言中,单例模式(饿汉模式)应用的例子如下述代码所示: public class Singleton { private final static Singleton INSTANCE = new Singleton();//Privateconstructor suppresses private Singleton() {} // default public constructorpublic static Singleton getInstance() { return INSTANCE; }}在Java编程语言中,单例模式(懒汉模式)...
阅读全文
摘要:package objectOriented; * @param args * 静态代码块 * 格式: * static * { * 静态代码块中的执行语句。 * } * 特点:随着类的加载而执行,只执行一次。 * 用于给类进行初始化的。 * * 下例执行结果: * b c a f f overclass StaticCode{ StaticCode(){ System.out.println("f"); } static{ System.out.println("a"); }}public clas...
阅读全文
摘要:*说明
@author 张三
@version v1.1 文档注释内容 说明
@param arr 接收一个int类型的数组
@return 会返回一个该数组的计算结果 cmd下敲入:
javadoc -d myhelp -author -version ArrayTool.java
必须为public类,必须把类暴露出去 一个类中默认会有一个空参数的构造函数,
这个默认的构造函数的权限和所属类一致。
如果类被public修饰,那么默认的构造函数也带public修饰符。 默认构造函数的权限是随着类的变化而变化。
阅读全文

浙公网安备 33010602011771号