- 博客(35)
- 收藏
- 关注
原创 servlet调试出空结果
测试Servlet程序,查询所有的商品,但是最终查询结果始终为空。package com.aistar.servlet.product;import com.aistar.pojo.Product;import com.aistar.service.ProductService;import com.aistar.service.impl.ProductServiceImpl;im...
2019-09-05 20:53:15
199
原创 MyArray --手写集合
package com.chixing.selfclass;import java.util.Arrays;/** * 1. 自定义一个集合工具类MyArray:(假设默认该集合存放int类型数据) * 初始默认数组,长度为10,添加到第11个元素时,需要扩容,(2n+1倍) * * 实现添加数据 public void add(int data){...
2019-08-19 21:07:29
357
原创 反射获取属性和方法的注解
package com.chixing.day16.annotation;import java.lang.annotation.Annotation;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ParseAnnotation { public static void m...
2019-08-05 16:45:48
925
原创 集合数据导向Xlsx文件
/** * 将筛选后的集合存入Xlsx文件中 * @param list 待存集合 */ public static void toXlsx( List<TransRecord> list,String path){ //获取抽象类WritableWorkbook对象 。 WritableWorkbook ...
2019-08-02 11:24:01
125
原创 单例模式(饿汉模式)+懒汉模式
目的是让对象在内存中只存在一份/*单例模式(饿汉模式)让Bank在内存中只有一份 */public class Bank { private static Bank bank = new Bank(); //构造器私有化 private Bank(){} //提供方法调用对象 public static Bank getInstance(){ ...
2019-07-25 11:08:08
75
原创 秃头排序
package com.chixing.practice;/*快速排序(小->大)*设置arr[0]为基数,low指向s索引0,height指向索引arr.length-1*如果arr[height] > arr[0],则height–;*如果arr[height] < arr[0],则将arr[arr.length-1]的值赋给arr[0],然后low++继续比较...
2019-07-23 13:15:18
212
原创 好嗨哦!
一个判断某年某月天数的方法…package com.chixing.day02; import java.util.Scanner;/*手动输入年,月,输出当前月的天数 */public class IfElseDemo_2 { public static void main(String[] args) { //输入年份 Sy...
2019-07-16 14:39:24
172
原创 UDP通信
面向无连接的通信协议,发送方只管发,接收方只管接!先得让接收端运行接收端package cn.itcast.demo1;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;/* * 实现UDP接收端 * 依赖于两个类 * 1.数据封装的类:java....
2019-06-19 16:44:18
87
原创 数据库的连接
复习一下通过java连接数据库咯,我学的是使用MYSQL数据库。在这之前,重装了mysql-5.5,还好我当时配置的位置我记得,不然卸载有点麻烦。SQLYog的设置就是新建一个新的MYSQL连接。SQLYog是我用的图形化界面软件,配置也很简单。重点来了:JDBC操作数据库的步骤1.注册驱动告知虚拟机使用的是哪一个数据库的驱动2.获得连接3.获得语句执行平台4.执行sql语句...
2019-06-11 23:02:01
127
原创 反射
1.什么是反射是指在运行状态中,对任意一个类,都能够知道这个类的所有属性及方法;对于任意一个对象,都能调用他的任意一个属性和方法。下面是获取class文件对象的三种方式package cn.itcast.demo1;public class ReflectDemo { public static void main(String[] args) throws ClassNotFound...
2019-06-05 14:16:36
93
原创 类的加载
1.什么是类的加载?当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三不来实现对类的初始化。1.1加载将class文件读入内存,并为之创建一个class对象。任何类被使用时,系统都会建立一个class对象。1.2连接(1)验证:是否有正确的内部结构,并且和我其他类协调一致。(2)准备:负责为类的静态成员分配内存,并设置默认的初始值。(3)解析:将二进制...
2019-06-05 13:20:09
75
原创 线程的等待和唤醒机制
线程间的通信:当多个线程同时处理同一个资源时,但是线程各自处理的动作(线程的任务)却不同时,例如一个线程负责变量赋值,另一个线程同时负责打印赋值的变量,可能就会出现混乱的情况例如:public class InputThread implements Runnable { // 不能创建对象,因为读取和写入的事同意对象 // 利用构造方法,传参时将资源类的对象传入 public void...
2019-06-03 15:14:21
377
原创 同步锁使用的弊端---死锁
1.什么事死锁?当线程任务中出现了许多同步(多个锁)时,如果同步中嵌套了同步。这是容易引发一种现象:程序处于无限等待的状态,这种现象我们称之为死锁。这里先创建两个唯一的锁package cn.itcast.demo04;public class LockA { //私有构造器,保证这个锁唯一 private LockA(){} //只希望本类调用,不希望外类new,保证唯一 ...
2019-06-02 15:26:43
607
原创 同步锁-----Lock接口
1.JDK1.5新特性—Lock接口Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。替代了sychronized。其中有两个重要的方法,帮助我们完成上锁和释放锁。(1) void lock()获取锁。(2) void unlock()释放锁。接口都需要实现类来实现接口,这里已知了一个Lock接口的实现类ReentrantLock,所以接下来演...
2019-06-02 15:08:55
256
原创 线程安全隐患---同步代码块
1.线程安全多线程同时操作一个共享数据,往往会出现安全问题例如这里:有三个线程,当ticket=1,t0线程抢到CPU资源,if判断结果为真,准备运行打印语句时,CPU资源突然被线程t1抢走了,此时ticket还没有进行(ticket–)操作,所以t1的if判断结果结尾也是真,此时准备运行打印语句时,CPU资源突然被又线程t3抢走了,此时ticket依旧没有进行(ticket–)操作,所以这...
2019-06-01 14:11:37
132
原创 线程的简单应用
练习:利用线程实现异步计算线程1,计算1+…+100线程2,计算1+…+200简单分析:(1)两个计算,需要两个线程,利用线程工厂创建出存储两个线程的线程池(2)实现Callable接口,因为计算的结果有返回值(3)可以通过构造器传参首先写实现类package cn.itcast.demo06;import java.util.concurrent.Callable;pub...
2019-05-30 23:18:02
127
原创 实现线程方式-----Callable接口
实现线呈程序的第二种方式–Callable接口(这个类的实现方法需要重写他的call方法)好处:call方法具有返回值即利用Future<?> 中的get方法,即可获得Callable接口实现类中的call方法的返回值package cn.itcast.demo06;import java.util.concurrent.Callable;public class Thr...
2019-05-30 23:11:07
133
原创 线程池-----Runnabbe接口
1.线程池概念线程池,其实就是一个容纳多线程的容器,其中的线程可以反复的使用,省去了频繁创建线程对象的操作,无须反复创建线程而消耗过多的资源2.使用线程池方式-----Runnabbe接口通常,线程池都是通过线程池工厂创建,再调用线程池中的方法获取线程,再通过线程去执行任务方法。(1)Executors类:线程池创建工厂类(其中的方法全为静态方法)方法: newFixedThreadPo...
2019-05-29 19:26:53
138
原创 多线程
1.多线程介绍进程:指正在运行的程序。确切的说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并具有一定独立功能。线程:线城市进程中的一个执行单元,负责当前进程中的程序的执行。一个进程至少有一个线程,一个进程中可以有多个线程,这样的应用程序也可以称之为多线程程序。2.程序运行的原理(1)分时调度所有的线程轮流使用cpu的使用权,平均分配每个线程占用cpu的时间(2...
2019-05-28 12:02:23
92
原创 Commons_io工具类介绍
这是一个第三方引入的jar包我用的是 Commons_io-2.4这里学习了了一个FelinameUtils类和FileUtils类的中的几个常用的方法(1)FelinameUtilspackage cn.itcast.demo04;import org.apache.commons.io.FilenameUtils;public class Commons_ioDemo { p...
2019-05-25 16:50:54
242
原创 IO流
先插入别人那里的一张图片重要的就是read和write方法以文件的复制为例字节流package cn.itcast.Copy;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;...
2019-05-23 21:09:22
112
转载 hbulider的一些快捷键
最近在学习javaweb一些Hbuilder 快捷键Ctrl + d 删除整行内容Ctrl + Shift +R 复制当前行到下一行Ctrl + Shift +D 重新编辑Ctrl + 方向键 当前行整行内容上移或下移Alt + ↓ 跳转到下一个可编辑区Ctrl + A...
2019-05-22 19:58:10
246
原创 文件过滤器FileFilter
在遍历目录时,我们可以根据自己的需求,只获取满足条件的文件。这里就用到了文件过滤器FileLilter。File类的一个重要的方法(File[] listFiles(FileFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。方法传递的参数就是一个文件过滤器的实现类自定义接口的实现类,重写接口的抽象方法accpet()boo...
2019-05-22 19:01:24
658
原创 File类
文件和目录路径名的抽象表示形式。其构造方法比较重要例:File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。注意:windows下的路径,文件夹名不区分大小写几个常用的方法在代码中package cn.itcast.demo01;import java.io.File;import java.io.IOException;...
2019-05-21 20:02:45
157
原创 斗地主案例
利用所学的几个集合完成的小案例,只能实现到发完牌…package cn.itcast.demo03;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import javax.sql.PooledConnection;/* * 斗地主分为四个步骤 * 1.准备阶段...
2019-05-20 14:16:01
607
原创 Map接口
接口 Map<K,V>类型参数:K - 此映射所维护的键的类型V - 映射值的类型(1)Collection中的集合称为单列集合,Map中的集合称为双列集合(2)Map的集合元素是成对存在的注意:Map中的集合不能包含重复的键,但是可以有重复的值,每个键只能对应一个值(3)Map常用的集合为HsahMap,LinkedHashMap1.Map集合的遍历第一种方法(1...
2019-05-20 14:13:15
92
原创 关于集合
(1) Collection 接口常用的子类有两个:List接口和Set接口(2) List接口,有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。package cn.itcast.String;import java.util.ArrayList;import...
2019-05-19 00:08:43
104
原创 泛型的使用,迭代器迭代不同类型的集合
package cn.itcast.demo03;import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;import java.util.Iterator;/* * 复习泛型的使用 */public class LianXi { public static void ma...
2019-05-18 16:13:34
204
原创 基本数据类型包装类
在实际应用中,用户一般输入的是字符串,而在开发过程中,我们需要获取字符串转换成我们需要的类型,例如年龄age,用户输入字符串类型的“18”,我们需要将其转换成int类型的18。java将8个基本数据类型封装成了对象包装类的特点,用于在字符串和基本数据类型之间进行转换这里我只学了一个Integer类,因为8个类之间有共通性。Integer有两个挺重要的构造方法(1)Integer(int ...
2019-05-18 15:08:29
119
原创 Calendar类的一种应用,结合之前的SimpleDateFormat类
偷学了一手,不一样的判断闰年的方法 * 高级算法,将日期设定到输入年份的3月1日 * 用add方法向前偏移一天,获取当前月份的天数 */ public static void function2() { //前提,必须获得日历类 Calendar c = Calendar.getInstance(); System.out.print("请输入您要判断的年份:"); ...
2019-05-17 21:19:45
120
原创 Calendar类
API文档中介绍:Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。因其是一个抽象类,所以不能通过new...
2019-05-17 21:16:09
108
原创 SimpleDateFormat类中两个方法的使用
1.String format(Date date) 传递日期对象,返回字符串2.Date prase(Strins s)传递字符串,返回指定格式的日期类package cn.itcast.demo03;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;pu...
2019-05-17 21:02:00
528
原创 Date类
类Date表示特定的瞬间,精确到毫秒(1000ms = 1s)在java中,时间原点是公元19701月1日,午夜00:00:00在lang包下的System类中,也有一个静态方法可以获取当前系统的时间static long currentTimeMillis()返回以毫秒为单位的当前时间。package cn.itcast.demo03;public class DateDemo {...
2019-05-17 20:53:00
104
原创 正则表达式regex
正则表达式(Regular Expression)是一个字符串,表示一定的规则API文档的pattern类中有其具体的规则定义注意:regex严格区分大小写package cn.itcast.demo02;public class RegexDemo02 { public static void main(String[] args) { checkMial(); } /* ...
2019-05-16 21:07:35
108
原创 第一次写博客,紧张
刚开始学习java,看了一个月左右的基础视频,回头复习,真的越忘越多…重新写了一下字符串类的indexOf方法。package cn.itcast.demo02;/* * 练习字符串类的方法indexOf的使用 * 有四个重载方法,查阅API文档 * int indexOf(String str) * 作用:返回指定子字符串在此加粗样式字符串中第一次出现处的索引。 */p...
2019-05-16 20:59:38
103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人