![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
钟不冷
这个作者很懒,什么都没留下…
展开
-
Java基于UDP实现服务器和多客户端之间的通信
UDPServer.javapackage com.zh.socket;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/* * 服务器端,基于UDP的用户登录 */转载 2017-03-02 23:45:56 · 3076 阅读 · 0 评论 -
JDBC通过配置文件方式连接数据库的工具类
在不使用第三方工具类的情况下:/* * 编写JDBC的工具类,获取数据库的连接 * 采用读取配置文件的方式 * 读取配置文件,获取连接,都只需要进行一次,因此使用静态代码块 */public class JDBCUtilsConfig { //将变量抽取到成员位置 private static Connection con; private static String driver...原创 2018-04-29 00:37:31 · 422 阅读 · 0 评论 -
JDBC工具类
将JDBC技术中常用的: 1.注册驱动 2.创建数据库连接封装成一个工具类,以便直接使用public class JDBCUtils { /* * 因为是工具类,所以将构造器私有化,不允许new */ private JDBCUtils() { } private static Connection con; /* * 使用静态代码块,使得类名.getC...原创 2018-04-28 22:17:30 · 155 阅读 · 0 评论 -
Java网络编程中的UDP案例
发送端:/* * UDP通信方式,发送端不用管接收端是否存在(在线),都可以进行发送 */public class UDPSend { public static void main(String[] args) throws IOException{ //通过InetAddress类静态方法,传入目标IP地址,获取目标IP地址对象 InetAddress ip = InetAdd...原创 2018-04-27 22:07:40 · 175 阅读 · 0 评论 -
Java网络编程中的多线程上传
客户端类:/* * 上传案例的客户端 * 注意在读取完需要上传的源文件以后,调用客户端Socket对象的shutdownOutputStream() * 此方法可以禁用此套接字的输入流,并且在输入流后面跟上TCP正常连接终止序列 * 这样可以防止上传线程任务代码中读取客户端输出的字节数组时由于读不到-1而使read()方法一直处于线程等待的现象 */public class TCPCl...原创 2018-04-26 14:20:23 · 210 阅读 · 0 评论 -
JavaSE中对象序列化Demo
要求: (1)定义学生类,包含姓名(String name),性别(String gender),年龄(int age)三个属性,生成空参有参构造,set和get方法,toString方法 (2)键盘录入6个学员信息(录入格式:张三,男,25),要求有两个相同的信息,将6个学员信息存入到ArrayList集合中 (3)将存有6个学员信息的ArrayList集合对象写入到D:\\Stude...原创 2018-04-21 22:17:34 · 210 阅读 · 0 评论 -
输入字符串(以空格分隔),将字符串中的单词以键值对方式输出到指定文件
public class PrintMap { /* * 输入一串以空格分隔的字符串,调用自定义方法,将每个字符及其个数以键值对方式写入指定文件 */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入字符串(以空格分隔):")...原创 2018-04-21 18:25:16 · 3307 阅读 · 0 评论 -
Java实现文件夹(包括内容)的复制
public class CopyDemo1 { /* * 从键盘输入源和目标路径 * 调用复制文件夹及其内容的方法,将文件夹整个复制过去 */ public static void main(String[] args) throws IOException{ Scanner sc = new Scanner(System.in); System.out.println(...原创 2018-04-20 22:56:51 · 242 阅读 · 0 评论 -
JavaSE综合案例——管家婆家庭记账软件
用JavaSE实现一个控制台记账软件:5个功能模块:1.添加账务、2.编辑账务、3.删除账务、4.查询账务(全部查询、条件查询)、5.退出系统使用到了Apache commons项目下的3个工具类和mysql数据库驱动:整个工程分为7个层:view层、controller层、service层、dao层、database层、tools层、test层test层:/* * 主程序类,作用:开启软件程序...原创 2018-05-02 12:08:28 · 4482 阅读 · 1 评论 -
JavaSE中多线程案例2(关于多线程通信-等待与唤醒)
案例要求:有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池用一个数组int[] arr = {10,5,20,50,100,200,500,800,2,80,300}; 创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”,“抽奖箱2”,随机从arr数组中获取奖项元素并打印在控制台上,格式如下: 抽奖箱1 又产生了一个 10 元大奖 抽奖箱2 又产生了一个 100 元大奖 //...../...原创 2018-04-24 15:22:39 · 713 阅读 · 0 评论 -
JavaSE中多线程案例1(关于对象锁)
案例要求:某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程, 并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码。线程运行后打印格式如下: 编号为: 2 的员工 从后门 入场! 拿到的双色球彩票号码是: [17, 24, 29, 30, 31, 32, 07] 编号为: 1 的员工 从后门 入场! 拿到的双色球...原创 2018-04-24 15:13:17 · 209 阅读 · 0 评论 -
使用DBCP连接池创建DataSource工具类
使用DBCP连接池创建的JDBC的工具类:public class JDBCUtils { private static BasicDataSource dataSource = new BasicDataSource(); /* * DBCP连接池的配置只需要进行一次,故放在静态代码块中 */ static { dataSource.setDriverClassName("...原创 2018-05-01 14:56:57 · 402 阅读 · 0 评论 -
Java中多线程死锁问题及注意事项
出现死锁的前提: 1.必须是多线程 2.出现了同步嵌套先定义两个锁类:/* * 定义A对象锁 * 将构造器私有化,使得外类中不能创建A锁对象 * 创建静态A锁对象,让外类直接 类名.成员变量名 调用这个锁 * 这种方式保证了死锁的另一前提—锁的唯一性,否则两个同步嵌套各有各的锁,就形不成死锁 */public class LockA { private LockA(...原创 2018-04-23 15:29:09 · 123 阅读 · 0 评论 -
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集
public class FileDemo3 { public static void main(String[] args) { File file = new File("E:\\demo"); HashMap<String, Integer> map = new HashMap<String, Integer>(); bianLi(file, map);...原创 2018-04-18 14:57:59 · 532 阅读 · 0 评论 -
获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到自定义任意目录
注意:1.打印流pw关闭前需进行判空,否则会报空指针异常 2.需用count接收递归调用时返回的count值,否则遍历子目录后返回的还是父目录的count值public class TxtDemo { public static void main(String[] args) { System.out.println("txt文件的个数为 :" + countAndCo...原创 2018-04-22 10:32:30 · 1762 阅读 · 0 评论 -
JNI中javah命令生成.h头文件
使用javah命令时,需要在cmd命令行模式里面进入bin文件夹,里面存放着工程中所有的.class文件。随后调用:javah -classpath . -jni 包名.类名。这样就可以正确的生成.h头文件。原创 2017-08-23 10:17:59 · 264 阅读 · 0 评论 -
JDBC登陆查询案例
案例要求:1.map中有如下数据(用户名=密码) [liuyan=123456,wangbaoqiang=123321,fangbian=abcd,miejueshitai=123abc321] 在ip为127.0.0.1数据库名为stdb,连接数据库的用户名和密码为:admin和123456中有一个userinfo表相关字段为(id,username,password) (1)将map中的手机号...原创 2018-04-29 14:29:46 · 599 阅读 · 0 评论