- 博客(43)
- 收藏
- 关注
原创 9月13日总结
上了一天课接着写项目,实现群聊节点流:包裹源头,离源头最近处理流:增强功能、提供性能节点流1、字节数组节点流(读取、写出字节数组)输入流:ByteArrayInputStream 其中close()为无效关闭输出流:ByteArrayOutputStream 新增了toByteArray()方法用来获取数据处理流1、基本类型+String 保留数据和类型输入流:DataInputStream 新增readXxx()方法、其中字符串为UTF输出流:DataOutputStream 新增w
2021-09-13 21:08:28
100
原创 9月11日总结
改错误java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds 表名使用了关键字解决方法:1、 更改数据库表名2、使用注解@Table(name = “表名”)//批量处理产生的问题java.sql.BatchUpdateException: You have an error in your SQL syntax;sql语句中使用了
2021-09-11 20:59:51
108
原创 9月10日总结
主键能够唯一的表示表中的每一行数据,这样的列属性称为表的主键,使用表主键可以保证实体的完整性,可对表内数据进行修改、删除时使用主键来操作,同时也主要用于和其他表之间通过主外键关联建立表之间的联系。通常数据库建表时一个表至多只能设置一个主键外键外键用于建立表与表之间的关联关系,外键所在的表称为从(子)表。外键所关联的表称为主(父)表。外键若要创建成功,需要满足如下条件:外键关联的字段必须是主键;外键字段与关联字段数据类型一致;若是在创建表后再添加字段,需要外键字段中的值在主键中都存在,其中n
2021-09-10 21:15:43
102
原创 9月9日总结
鼠标点击事件单击判断 event.getButton()==MouseButton.PRIMARY右击判断 event.getButton()==MouseButton.SECONDARY双击判断 event.getClickCount() == 2
2021-09-09 20:53:06
122
原创 9月8日总结
改错误java.sql.SQLException: Can not issue data manipulation statements with executeQuery().原因是在执行INSERT插入语句时,PreparedStatement使用的是executeQuery()java.lang.reflect.InvocationTargetException当被调用的方法内部抛出异常未被捕获时,会抛出这个异常,且通常,抛出InvocationTargetException是NullP
2021-09-08 20:53:47
72
原创 2021-09-07
发现错误并修改完善好友列表,在一个用户登录时,需要确定他是谁的好友,并刷新各个用户的好友列表继续写添加好友理清思路遇到一个问题,socket一直读不到数据,导致流程被挡在if条件语句外面了,还没想好怎么改...
2021-09-07 21:07:50
99
原创 9月6日总结
改错误Every derived table must have its own alias这句话的意思是每个派生出来的表必须有一个自己的别名一般是在多表查询或者子查询的时候会出现这个错误,因为在嵌套查询中,子查询的结果是作为一个派生表给上一级进行查询,所以子查询的结果必须有一个别名。在子查询的后面增加一句 as total,相当于给子查询的结果集派生表取别名为total,问题就解决了。...
2021-09-06 20:58:02
83
原创 9月4日总结
改错误//错误java.sql.SQLSyntaxErrorException: FUNCTION qq.count does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual//SQL语句select max(user.id),user.username,max(user.account),max(user.pwd),max(user.headImg),max(
2021-09-04 20:53:38
103
原创 9月3日总结
好友下线将消息存入数据库用javafx将消息条数写在各好友旁边//可以使用setClip()方法和Circle设置标签的形状Circle cir=new Circle();//用于调节标签内文字的位置la.setPadding(new Insets(0,0,0,6));la.setClip(cir);//用于调整某一各控件在HBox内的位置HBox.setMargin(la, new Insets(40, 0, 30, 180));//设置某一控件是否可见setVisible(false
2021-09-03 19:57:01
99
原创 9月2日总结
图片置灰PrixelReader:这是一个接口,定义了读取像素的方法。PixelWriter:这是一个接口,定义了向WritableImage对象中写像素的方法。//获得图片宽度getWidth();//获得图片长度getHeight();//写入像素WritableImage wImage = new WritableImage(width, height);PixelReader pixelReader = image.getPixelReader();PixelWriter wri
2021-09-02 21:14:34
102
原创 9月1日总结
Map迭代器//获取所有的键值Set<String> keys=ThreadMassage.socketMap.keySet();//得到对应的迭代器Iterator<String> it= keys.iterator();//循环判断是否还有数据,若没有则停止循环while(it.hasNext()){//取得对象,var以赋给变量的类型作为依据 var key=() it.next();}ObservableList监听JavaFX ObservableL
2021-09-01 21:04:01
116
原创 8月31日总结
事务概念:是由一步或几步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行特征:原子性、一致性、隔离性、持续性当事物所包含的执行语句全部成功执行需提交事务:分为显示提交和自动提交显示提交:使用commit自动提交:执行DDL或DCL语句,或者程序正常退出当事物所包含的执行语句有失败的需回滚事务,该事务中所做的修改全部失败:分为显示回滚和自动回滚显示回滚:使用rollback自动回滚:系统错误或者强行退出Connection conn=null;//关闭自动提交,开
2021-08-31 21:22:53
152
原创 8月30日总结
处理错误使用PlatformImpl类里的runLater类方法,可以解决java.lang.IllegalStateException:Not on FX application thread; currentThread = *运行javaFX代码块,系统会自动创建一个FX application thread线程,用于更新界面的组件信息,当我们自己创建一个线程用于更新界面时,会出现该错误//用法PlatformImpl.runLater(new Runnable() { @Overr
2021-08-30 20:58:56
107
原创 8月28日总结
解决异常//出现在服务端java.io.InvalidClassException//出现在客户端java.net.SocketException检查发现,是由于两端传送数据的类不同,在客户端的类中添加了一个新的变量,没有在服务端中添加,导致不能正确传送信息java.lang.IllegalArgumentException根据官方文档,当方法接收到了一个不合法或不正确的参数时会抛出此类异常。添加气泡主要用到Label、HBox、VBox//添加圆角效果-fx-backgroun
2021-08-28 20:56:04
97
1
原创 8月27日总结
设置一个代码可以重复运行点击运行旁边的方框(类名)点击第一个还是点击第一个Map底层实现:数组+集合键值不能相同//清楚所有键值对clear()//存入键值对put(Object key,Object value)//计算长度size()//返回指定key的value值get(Object key)HashMap和HashtableHashMap:线程不安全,键不可以重复,值可以,能使用null作为key和 valueHashtabl
2021-08-27 21:36:05
79
原创 8月26日总结
上午7:30-8:00学习打卡9:00-12:00写项目,改错误在客户端改了一个小东西,服务端没有及时改,导致好友列表消失,花了一点时间找错误下午2:00-5:30学习多线程,写项目线程的生命周期分为新建、就绪、运行、阻塞、死亡新建:当程序使用new关键字创建一个线程后,该线程就处于新建状态就绪:当程序对象调用了start()方法之后,该程序处于就绪状态运行:处于就绪状态的线程获得了cpu,就开始执行run()方法的线程执行体阻塞:线程调用sleep()方法主动放弃所占的处理器资源、线
2021-08-26 19:59:20
72
原创 8月25日总结
上午7:30-8:00学习打卡9:00-11:30写项目,将方形头像转变成圆形//方法一:<ImageView fx:id="selfHeadImg" fitHeight="76.0" fitWidth="76.0" layoutY="-3.0" pickOnBounds="true" preserveRatio="true"> <clip> <Circle fx:id="cHeadImg" centerX="40" ce
2021-08-25 21:02:19
124
原创 8月24日
上午7:30-8:00学习打卡9:00-12:00写项目一直出现问题,在fxml的控制类里的构造器中初始化的变量在初始化方法中指向为空下午2:00-5:00写项目,改上午遇到的问题,学习线程池问了一下同学,好像是因为初始化方法初始化的是界面那一块,所以才没有放进去,奇奇怪怪的,后面将账号存到SelfUser类里才解决,为了确保SelfUser类里的数据不丢失,将SelfUser类写成了单例类//创建单列类的主要代码 private static SelfUser selfUser=null;
2021-08-24 20:53:29
90
原创 8月23日总结
上午7:30-8:00学习打卡9:30-12:00写项目,完善好友列表需要用到List容器和泛型存放好友ArrayList:类似于数组LinkList:类似于链表使用泛型可规定容器中只能存储那种类型的数据下午2:00-6:00写项目,改bugException in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException下午一
2021-08-23 20:51:21
78
原创 8月21日总结
上午7:30-8:00学习打卡9:30-12:00写项目,看视频下午2:00-5:00写项目,看雪花算法雪花算法可以生成唯一id,在时间不回退的情况下,一般有64位(二进制);第一位:肯定是0,在二进制中第一位表示符号,1代表负数,0代表正数,所以第一位不需要做处理余下41:时间截,可以自己定义开始的时间截,不一定非要是1970年,时间截存放的是生成id时间与开始时间截的差,可以使用69年后10位:前五位机房id,后五位机器id最后12位:表示的序号,就是某个机房某台机器上这一毫秒内同
2021-08-21 21:31:47
83
原创 8月20日总结
上午7:30-8:00学习发打卡9:30-12:00完善注册界面和注册信息可以在Prompt text中写提示信息setVisible(boolean a);方法可以手动定义该模块是否显现控件的id名.getText().trim(),若没有trim()取得的是一整个模块equals()方法,在String中被重写,用于比较字符串是否相等//(包括长度和每个位置的字符)下午2:00-5:00写项目,给邮箱发送验证码,判断发送的验证码和输入的验证码是否相等给邮箱发送验证码需要导入mail
2021-08-20 20:31:14
78
原创 8月19日总结
上午7:00-8:00学习打卡9:00-11:30写项目下午2:00-5:00写项目使用正则表达式判断邮箱格式是否正确预定义字符说明.可以匹配除"\n"的所有字符\d匹配0~9的所有数字\s匹配所有的空白字符,包括空格、制表符、回车符等\w匹配所有的单词字符,包括0~9所有数字、26个英文字母和下划线注意:d、s、w的大写形式恰好匹配与之相反的字符方括号表达式说明表示枚举例如[ab],表示a、b其中任意一个字符表示
2021-08-19 20:53:46
63
原创 8月18日总结
上午7:30-8:00学习打卡9:00-12:00在Scene Builder中画好友列表AnchorPane:布局类,相当于一个容器,用来装控件,分隔布局ScrollPane:带滚动条的容器TabPane:带选项卡的容器TitlePane:带标题的容器Button:按钮Label:标签ImageView:可用于放图片GridPane:表格布局下午2:00-5:00实现界面跳转和改错误,主要在改错//错误Exception in thread "JavaFX Applicati
2021-08-18 20:51:14
138
1
原创 8月17日总结
上午7:30-8:00学习打卡9:00-12:00看视频,写服务器端和数据库搜索//服务器连接ServerSocket se=new ServerSocket(2424);Socket so=se.accept();//数据库搜索Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;User user=null;conn= JDBCUtil.getMysql();ps=conn.prepareStatemen
2021-08-17 21:01:07
54
原创 8月16日总结
上午7:50-8:00学习打卡10:00-12:00找javafx相关的资料,写界面下午2:00-5:00 看视频学习,整理了一下项目的思路,写MySQL数据库的工具类//数据库的连接 public static Connection getMysql(){ try { Class.forName("mysqlDriver"); return DriverManager.getConnection("mysqlURL","mysql
2021-08-16 20:57:35
60
原创 8月14日总结
网络作用:将不同区域的计算机连接在一起网络划分:局域网、城域网、广域网IP地址用于唯一地标识网络中的一个通信实体,这个通信实体既可以是一台主机,也可以是一台打印机,或者是路由器的某个端口,即用于确定该计算机在网络上的一个绝对地址,类似于房屋地址端口用于区分计算机软件,类似于房屋的房门,占两个字节注意:在同一个协议下,端口号不能重复,不同协议下可以重复1024以下的不要使用,被预留给了知名厂商资源定位URL:统一资源定位符URI:统一资源相同点:都叫统一资源定位符不同点:URL
2021-08-14 22:00:24
62
原创 8月12日学习总结
数据库驱动管理器:加载JDBC驱动程序连接数据库:建立与数据库的连接SQL语句:发送SQL查询结果集:得到查询结果数据库的连接//加载驱动Class.forName(driverClass);//mysql的driverClass为com.mysql.jdbc.Driver//获取数据库连接DriverManager.getConnection(String url,String user,String pass);//mysql数据库的url写法:jdbc:mysql://hos
2021-08-12 21:25:35
51
原创 8月11日总结
正则表达式(regular Expression)语法普通字符:字母、数字、汉字、下划线、以及没有特殊定义的标点符号转义字符预定义字符预定义字符说明.可以匹配除"\n"的所有字符\d匹配0~9的所有数字\s匹配所有的空白字符,包括空格、制表符、回车符等\w匹配所有的单词字符,包括0~9所有数字、26个英文字母和下划线注意:d、s、w的大写形式恰好匹配与之相反的字符方括号表达式方括号表达式说明表示枚举例如[ab],表示
2021-08-11 20:53:16
61
原创 8月10日总结
线程的创建与启动继承Thread类创建线程类定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务创建Thread类子类的实例,及创建了线程对象调用线程对象的start()方法来启动该线程实现Runnable接口创建线程类定义Runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体就代表了线程需要完成的任务创建Runnable实现类的实例,并以此实例作为Thread的target(形参)来创建Thread对象,
2021-08-10 21:36:32
92
原创 8月9日学习总结
Io流流的分类输入流:只能从中读取数据,而不能向其写入数据输出流:只能向其写入数据,而不能从中读取数据字节流:二进制,可以处理一切文件包括纯文本、doc、音频、视频等字符流:文本文件,只能处理纯文本,全部为可见字符节点流:包裹源头,离源头最近处理流:增强功能、提供性能InputStream/Reader:所以输入流的基类,前者是字节输入流,后者是字符输入流OutputStream/Writer:所以输出流的基类,前者是字节输出流,后者是字符输出流转换流解码:将二进制通过解码字符集
2021-08-09 21:36:35
71
原创 2021-07-22学习总结
7:50-8:00学习打卡9:00-12:00看书2:00-3:00看书初始化块使用初始化块初始化块是Java类里可出现的第4种成员,一个类里可以有多个初始化块,相同类型的初始化块之间有顺序[修饰符]{ //初始化块的可执行性代码}初始化块的修饰符只能是static,使用static修饰的初始化块被称为类初始化块(静态初始化块),没有static修饰的初始化块被称为实例初始化块(非静态初始化块)。初始化块无法被调用,被隐式执行在构造器执行之前执行,类初始化块则在类初始化阶段自动执行
2021-07-22 21:40:44
85
原创 2021-07-21学习总结
7:50-8:00学习打卡9:00-12:00看书2:30-6:00看书instanceof运算符instanceof运算符前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类(也可以是接口,可以把接口理解成一种特殊的类),用于判断前面的对象是否是后面的类,或者其子类,实现类的实例,如果是,则返回true,否则返回false需要注意用instanceof运算符时,前面操作数的编译时类型要么与后面的类相同,要么与后面的类具有父子关系,否则会引起编译错误通常与强制类型转换一起用打印对象和t
2021-07-21 21:47:44
56
原创 Java学习总结
隐藏和封装理解封装是面向对象的三大特征之一,指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。封装的目的隐藏类的实现细节防止非法访问进行数据检查,有利于保证对象信息的完整性便于修改,提高代码的可维护性控制符private---->default---->protected----public访问控制级别由小到大private(当前类访问权限)、default(包访问权限、不加修饰符时系统默认为
2021-07-21 21:04:52
54
原创 2021-07-20总结
7:50-8:00学习打卡9:00-12:00刷二招题目数列aから好きな整数を好きなだけ取り除き、単調増加な数列を作るとき、その数列の長さの最大値を求めなさい。制約 1 ≤ N ≤ 100 , 000入力例 1 5 3 1 5 4 2 出力例 2入力例 2 6 1 2 3 4 5 6 出力例 6入力例 3 7 7 6 5 4 3 2 1 出力例 1入力例 4 20 19 11 10 7 8 9 17 18 20 4 3 15 16 1 5 14 6 2 13 12 出力例 6跟
2021-07-20 21:43:28
134
原创 7月19日总结
目录7:50-8:00学习打卡9:00-12:00刷二招题目2:00-5:00看书7:00-8:30看书成员变量访问方法使用局部变量packageimportimport static7月18日总结7:50-8:00学习打卡9:00-12:00刷二招题目2:00-5:00看书7:00-8:30看书成员变量指的是在类里定义的变量,分为实例变量(没有static修饰)和类变量(有static修饰)类变量从该类的准备阶段起开始存在,直到.
2021-07-19 21:42:47
62
原创 Java学习总结
循环while(true){}for(;;){}上述两个循环都为死循环分支结构switch分支语句switch语句后面的控制表达式的数据类型只能是byte、int、short、char四种整数类型,枚举类型和String类型,不能是boolean类型若每块语句后面没有break,遇到相等的case值就开始执行,一直到switch语句结束,后面不要判断条件是否与case值相等控制循环结构使用break结束循环break不仅可以结束其所在循环,也可以结束其外层循.
2021-07-18 21:20:38
70
原创 7月18日总结
7:50-8:00学习打卡9:00-12:00看视频2:00-5:00看书switch分支语句switch语句后面的控制表达式的数据类型只能是byte
2021-07-18 17:57:44
68
原创 7月15日学习总结
7:50-8:00学习打卡10:00-12:00:看Java疯狂讲义2:00-5:30:看视频7:00-9:00看视频和书整型整型的四种类型 类型 所占字节 范围 byte 1(8位) -128(-2^7)~127(2^7-1) short 2(16位) -2^15~2^15-1 int 4(32位) -2^31~2^31-1 long 8(64位) -2^63~2^63-1 直接给出一个整数值默认就是
2021-07-15 21:49:53
83
原创 Java学习总结
Java软件开发的三个阶段面向对象分析(OOA) 面向对象设计(OOD) 面向对象编程(OOP)Java分类Java SE(Java Standard Edition):标准版,定位在个人计算机上的开发 Java EE(Java Enterprise Edition):企业版,定位在服务器端的开发 Java ME(Java Micro Edition):微型版,定位在消费性电子产品的应用上Java特征和优势跨平台/可移植性:核心优势 安全性 面向对象 简单性 高性能 分布.
2021-07-14 22:06:52
70
原创 Java学习总结
目录Java软件开发的三个阶段Java分类Java特征和优势JVM易错点面向对象和面向过程(结构化程序设计)的区别基本等式面向对象的三个基本特征对象与类的关系类之间的结构关系组合关系标识符Java软件开发的三个阶段面向对象分析(OOA) 面向对象设计(OOD) 面向对象编程(OOP)Java分类Java SE(Java Standard Edition):标准版,定位在个人计算机上的开发 Java EE(Java Enterprise...
2021-07-14 21:54:08
73
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人