public class SellTicketDemo { public static void main(String[] args) { // 创建三个线程对象 SellTicket st1 = new SellTicket(); SellTicket st2 = new SellTicket(); SellTicket st3 = new SellTicket(); // 给线程对象起名字 st1.setName("窗口1"); st2.setName("窗口2&quo…
Thread线程两种方式的优点/缺点 extends Thread 方式: 缺点:存在耦合度(因为线程任务run方法里面的业务逻辑 和 线程启动耦合了) 缺点:Cat extends Thread {} 后无法在继承其他的类了 优点:没有继承关系 并 简单的单线程,可以使用 extends Thread 方式 Runnable方式: 优点:第一种方式存在耦合度,第二种方式就解耦了,因为线程任务run方法里面的业务逻辑 和 线程启动分离了) Runnable实现类    new Thread().…
今天遇到一道面试题,询问深拷贝的两种方法.主要就是clone方法和序列化方法.今天就来分析一下这两种方式如何实现深拷贝.如果想跳过解析的朋友,直奔"重点来了!"寻找答案. clone方法 例1:我们不妨建立一个Exam对象 考试类Exam.java文件 public class Exam implements Cloneable { private int examId; private String examName; public Exam() { } public Exam(in…
一.使用多线程的两种方法  使用多线程的两种方法有:继承Thread类和实现runable接口. 二.继承Thread类 来看一下thread类的源代码: class Thread implements Runnable { 首先可以看出thread类也是实现Runable接口的run方法如下: public void run() { if (target != null) { target.run(); } } 下面就是一个创建继承Thread的类的列子: public class ExThr…
异常 就是程序出现了不正常的情况 Error:严重问题,不需要处理 Exception:称为异常类,他表示程序本身可以处理的问题 RuntimeException:在编译期是不检查的,出现问题后,需要我们回来修改代码 非RuntimeException:编译期就必须处理的,否则程序不能通过编译,就更不能正常运行了 JVM的默认处理方案 如果程序出现了问题,我们没有做任何处理,最终JVM会做默认的处理 把异常的名称,异常原因及异常出现的位置等信息输出在控制台 程序停止执行 异常处理 两种方案: t…
在Service服务文件夹下新建Windows服务 - TestService…
一.代码 1.HttpWebRequest public static string DoPost( string target, string content ) { try { string parameter = "reg=" + regNo + "&pwd=" + password + "&sourceadd=" + "&phone=" + target + "&content…
java方式: publicstatic synchronized int generate(StringtableName){ Stringsql = "select value from t_table_id where table_name=?"; Connectionconn = null; PreparedStatementpstmt = null; ResultSetrs = null; intvalue = 0; try{ conn= DbUtil.getConnecti…
1.继承Thread类 public class MyThread extends Thread { public MyThread() { } public void run() { for(int i=0;i<10;i++) { System.out.println(Thread.currentThread()+":"+i); } } public static void main(String[] args) { MyThread mThread1=new MyThread…
instanceof        String s = ""; System.out.println(s instanceof String); // true     simpleName String s = ""; System.out.println(s.getClass().getSimpleName()); // String…