![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 92
ygl6150373
这个作者很懒,什么都没留下…
展开
-
数字转化为汉字
package com.dsw.zfjd.utils;import java.util.Arrays;import java.util.List;public class NumberToChinese { // num 表示数字,lower表示小写,upper表示大写 private static final String[] num_lower = { "零", "一...转载 2019-10-13 13:44:35 · 1298 阅读 · 0 评论 -
匿名对象、string拼接、stringBuffer
转自:xiazdonghttp://blog.csdn.net/xiazdong/article/details/6723101一、两种实例化方式:String str = “abc”;String str = new String("abc");一个字符串就是String的匿名对象。"hello".equals(str) 一个字符串能够调用一个函转载 2015-09-12 13:43:11 · 486 阅读 · 1 评论 -
十进制转二进制、十六进制
package com.ygl;public class toBin { public static void main(String[] args) { toBinL(6); toHex4(-60);} //十进制转二进制 public static void toBinL(int num){ StringBuffer sb原创 2015-09-10 21:26:21 · 346 阅读 · 0 评论 -
异常(异常覆盖)
package com.hsp.ygl;/* * 异常在子父类覆盖中的体现: * 子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类. * * */public class AException extends Exception {}class BException extends AException原创 2015-09-28 10:43:17 · 442 阅读 · 0 评论 -
卖票模拟多线程
package com.ygl;/* * 卖票属于多线程,卖票程序要被多个线程所执行,要写在run方法中 * */public class Ticket extends Thread{//定义ticketCount为static 则四个对象t1,t2,t3,t4可以实时共享ticketCount,但由于static//修饰的类型成员生命周期太长,一般不使用priv原创 2015-09-28 21:17:34 · 495 阅读 · 0 评论 -
线程(一.概念)
/* * 进程:是一个正在执行中的程序 * 每一个进程执行都有一个执行的顺序,该顺序是一个执行路径,或者叫一个控制单元. * * 线程:就是进程中的一个独立的控制单元 * 线程在控制着进程的执行. * * 一个进程中至少有一个线程 * * java VM 启动的时候会有一个进程java.exe * * 该进程中至少一个线程负责java程序的执行原创 2015-09-27 23:22:03 · 311 阅读 · 0 评论 -
实现Runnable 多线程卖票
package com.ygl;/* * 卖票属于多线程,卖票程序要被多个线程所执行,要写在run方法中 * */public class Ticket implements Runnable {/** 创建线程第二种方式:实现Runnable接口* 步骤:* 1.定义类实现Runnable接口* 2.覆盖Runnable接口 中的 run方法* 将原创 2015-09-28 22:34:02 · 1032 阅读 · 0 评论 -
多线程.同步函数
/* 多线程 同步函数 练习 1,明确哪些代码是多线程运行代码 2,明确共享数据 3,明确多线程运行代码中哪些语句是操作共享数据的 */ class Bank { private int sum =0; //Object obj = new Object(); public synchron原创 2015-09-28 22:52:36 · 279 阅读 · 0 评论 -
UUID生成唯一订单号
原创 2015-09-28 10:40:15 · 4137 阅读 · 0 评论 -
构造函数、构造代码块
class Person{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;原创 2015-09-12 17:38:36 · 286 阅读 · 0 评论 -
同步函数以this为同步对象
/* 同步函数用的是this锁 函数需要被对象调用。那么函数都有一个所属对象调用,就是this 所以同步函数使用的锁是this 通过该程序进行验证 使用两个线程来卖票 一个线程在同步代码块中 一个线程在同步函数中 都在执行卖票操作 */原创 2015-09-28 23:11:40 · 315 阅读 · 0 评论 -
客户端给服务端发送文本。服务端将文本转成大写在返回给客户端
/* * 建立一个文本转换服务器 * 客户端给服务端发送文本。服务端将文本转成大写在返回给客户端 * 而且客户端可以不断的进行文本转换,当客户输入over时 * 转换结束 */public class C {public static void main(String[] args) throws UnknownHostException, IOException {原创 2015-10-17 10:39:11 · 1853 阅读 · 0 评论 -
静态:static
//静态:static,是一个修饰符,只能够用于修饰成员(成员变量、成员函数)不能用于修饰局部//当成员被静态修饰后,就多了一种调用方式,除了可以被对象调用,还可以直接被类名调用/* * static特点: * 1.随着类的加载而加载,消失而消失 * * 2.优先于对象存在 * * 3.被所有对象所共享 * * 4.可以直接被类名调用 * *原创 2015-09-13 11:42:06 · 321 阅读 · 0 评论 -
当输入为多个,输出为多个时(多线程)
public class Resource {private String name;private int count=1;private boolean flag=false;public synchronized void setName(String name) {while(flag){try {wait();} catch (Interrupte原创 2015-09-29 23:37:07 · 321 阅读 · 0 评论 -
静态方法的同步代码
class Ticket implements Runnable { private int tick = 1000; //Object obj = new Object(); boolean flag = true; public void run() { if(fl原创 2015-09-29 21:03:57 · 268 阅读 · 0 评论 -
jdk 1.5升级提供只唤醒对方对象方法
/*jdk 1.5中提供了多線程升級解決方案 * 將同步synchronized替換成現實lock * * private Lock lock=new ReentrantLock();private Condition con_pro=lock.newCondition();private Condition con_consumer=lock.newCondition(原创 2015-09-30 09:14:07 · 253 阅读 · 0 评论 -
客户端向服务端发送信息
/* * 演示TCP传输 * 1.分客户端对应对象Socket、服务端对应ServerSocket *///需求:给服务端发送一个文本数据/*步骤: * 1.创建Socket服务,并指定要连接的主机和端口 * * */public class TcClient {public static void main(String[] args) throw原创 2015-10-17 09:28:55 · 644 阅读 · 0 评论 -
死锁
public class Test implements Runnable{private boolean flag;Test( boolean flag){this.flag=flag;}@Overridepublic void run() {// TODO Auto-generated method stubif(flag){synchronized原创 2015-09-29 21:44:42 · 261 阅读 · 0 评论 -
多线程:轮流执行输入输出
public class Res {private String name;private String sex;private boolean flag=false;public synchronized void set(String name,String sex){if(flag){try {this.wait();//等待....wai原创 2015-09-29 23:05:46 · 852 阅读 · 0 评论 -
socket(一)
/*需求:通过UDP传输方式,将一段文字数据发送出去 * 1.建立udpsocket服务 * 2.提供数据,将数据封装到数据包中 * 3.通过socket服务的发送功能,将数据包发出去 * 4.关闭资源 * */public class UPDsend { public static void main(String[] args) throws IOExce原创 2015-10-14 20:27:02 · 214 阅读 · 0 评论 -
单例模式(二)
//对象是方法在调用时,才初始化,也叫作对象的延迟加载(懒汉式)//single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象public class Single {private static Single s=null;//此时在内存中还未加载private Single(){}//synchronized上锁public static原创 2015-09-15 18:10:41 · 299 阅读 · 0 评论 -
客户端服务端交互
* * 演示TCP传输 * 1.分客户端对应对象Socket、服务端对应ServerSocket *///需求:给服务端信息,并且服务端回复数据/*步骤: * 1.创建Socket服务,并指定要连接的主机和端口 * 2.获取socket中的输出流,并将数据写到该流中,通过网络发送给服务端 * 3.获取socket流中的输入流,将服务端反馈的数据获取到,并打印 *原创 2015-10-17 09:55:43 · 232 阅读 · 0 评论 -
网络通信三要素:IP、端口、协议
import java.net.InetAddress;import java.net.UnknownHostException;/* * 网络通信三要素:IP、端口、协议 */public class IPDemo { public static void main(String[] args) { try {InetAddress i=InetAddres原创 2015-10-14 18:05:34 · 1706 阅读 · 0 评论 -
3个for循环可以都被执行
//3个for循环可以都被执行public class Demo {public static void main(String[] args) {//匿名内部类new Thread(){public void run() {// TODO Auto-generated method stubfor(int x=0;xSystem.out.println(T原创 2015-10-01 08:42:19 · 758 阅读 · 0 评论 -
线程5种状态
1.线程被创建2.Runnable:阻塞状态(临时状态)刚创建好的线程不一定立刻执行,只是具备执行资格但没有执行权3. Blocked: 当一个线程碰到了1)sleep、2)wait处于冻结状态(没执行资格),当被唤醒后进入阻塞状态(临时状态)4.Running: 处于Runnable状态的线程得到cpu时间片,进入Running状态5.De原创 2015-10-01 08:49:56 · 394 阅读 · 0 评论 -
对象的初始化过程
public class PersonD {private String name;private int age;private static String country="cn";PersonD(){}PersonD (String name,int age){this.name=name;this.age=age;}public void setName原创 2015-09-15 16:48:16 · 375 阅读 · 0 评论 -
单例模式(一)
public class Single {private int num;public int getNum() {return num;}public void setNum(int num) {this.num = num;}//私有化,防止外部new实例private Single(){} private static Sing原创 2015-09-15 17:43:51 · 278 阅读 · 0 评论 -
静态代码块(一)
public class Person{static {System.out.println("c");}}//*****************************************************//静态代码块/** * 特点:随着类的加载而执行,只执行一次,并优先于main函数执行 * 用于给类进行初始化 */pub原创 2015-09-15 10:50:24 · 268 阅读 · 0 评论 -
静态代码块(二)
public class Person{int num=8;Person(){System.out.println("1");}//给类初始化static {System.out.println("c");//System.out.println(num);-->静态代码块不能调用this.num}//为对象初始化{System.out.pri原创 2015-09-15 14:21:14 · 265 阅读 · 0 评论 -
final修饰符
/* * final:作为一个修饰符 * 1.可以修饰类,变量,函数 * 2.被final修饰的类不可以被继承,为了避免被子类重写。 * 3.被final修饰的方法不能重写 * 4.被final修饰的变量是一个常量,只能赋值一次 * 既可以修饰成员变量,也可以修饰局部变量, */ public final class FinalDemo { //static原创 2015-09-15 22:45:56 · 260 阅读 · 0 评论 -
String
public class StringDemo {public static void main(String[] args) {String s=new String();String s1="";//两个一样,String s3=new String("abc");String s2="abc";//s1是一个类类型变量,"abc"是一个对象//字符串最大特点:一但原创 2015-10-02 20:26:15 · 279 阅读 · 0 评论 -
将字符串反转
public class StringDemo {public static void main(String[] args) {String ss=" ad df"; System.out.println(reverseString(ss));} public static String reverseString(String s){ //字符串变数组原创 2015-10-02 21:50:36 · 310 阅读 · 0 评论 -
abstract获取程序运行时间模板
public abstract class GetTime {public final void getMyTime(){long startTime=System.currentTimeMillis();runCode();long endTime=System.currentTimeMillis();System.out.println((endTime-startTime原创 2015-09-16 18:12:56 · 284 阅读 · 0 评论 -
抽象类
/** 当多个类中出现相同功能时,但是功能主体不同* 这时可以进行向上抽取,只抽取功能定义,而不抽取功能主体* 抽象:看不懂。* 抽象类的特点:* 1.抽象方法一定在抽象类中* 2.抽象方法和抽象类都必须被abstract关键字修饰* 3.抽象类不可以用new创建对象,因为调用抽象方法没意义* 4.抽象类中的抽象方法要被使用,必须由子类重写所有的抽象方法, 建立子类原创 2015-09-16 14:19:30 · 236 阅读 · 0 评论 -
接口
/* * 接口:初期理解,可以认为是一个特殊的抽象类,那么该类可以通过接口的形式来表示 * class用于定义接口 * interface 用于定义接口 * 接口定义时:格式特点: * 1,接口中常见定义:常量,抽象方法 * 2.接口中的成员都有固定修饰符 * 常量:public static final(可省略,程序执行时会自动b补上) * 方法:public a原创 2015-09-17 14:01:07 · 240 阅读 · 0 评论 -
StringBuffer功能
/** * StringBuffer是字符串缓冲区,是一个容器 * 1.而且长度是可变化的,(数组长度是固定的) * 2.可以直接操作多个数据类型(而数组只能操作一种数据类型) * 3.最终会通过toString变成字符串 * @author dada56 * */public class StringBufferDemo {public static void原创 2015-10-07 13:38:10 · 309 阅读 · 0 评论 -
获取一个字符串在另一个字符串中出现的次数
//方法一public class StringTest { //"abkkcdkkefkkskk"public static int getSubCount(String str,String key){int count=0;int index=0;while((index=str.indexOf(key))!=-1){System.out.println(st原创 2015-10-07 09:16:50 · 1869 阅读 · 0 评论 -
获取两个字符串包含最大的字串
public class StringTest2 {public static String getMaxSubString(String s1,String s2){String max="",min="";max=(s1.length()>s2.length())?s1:s2;min=(max==s1)?s2:s1;for(int x=0;xfor(int y=0,原创 2015-10-07 10:46:35 · 340 阅读 · 0 评论 -
接口Iterator
import java.util.ArrayList;import java.util.Iterator;public class Demo {public static void method_get(){ArrayList al=new ArrayList();al.add("java1");al.add("java2");al.add("java3");原创 2015-10-07 17:14:14 · 231 阅读 · 0 评论 -
使用LinkedList模拟一个堆栈或队列数据结构
import java.util.LinkedList;/* * 使用LinkedList模拟一个堆栈或队列数据结构 * 堆栈:先进后出 * 队列:先进先出 */public class DuiLie {private LinkedList link;DuiLie(){this.link=new LinkedList();}private void my原创 2015-10-08 21:50:04 · 634 阅读 · 0 评论