- 博客(7)
- 收藏
- 关注
原创 java连接8.0以上版本mysql报错问题
之前用的是5.0版本,但是ubuntu下自动下载8.0版本,驱动也要重新找8.0版本的.但是一直报错linkfailure,百度了半天,SSL在新版本中不用了,要手动改为false.在配置文件中更新url如下:url=jdbc:mysql://localhost:3306/testuseSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8...
2021-09-30 13:43:16
195
原创 idea 使用相对路径报错:FileNotFoundException
idea默认工作环境目录是当前项目,可以通过Run-->editconfigurations-->working directory配置$MODULE_WORKING_DIR$命令可以自动定位到当前项目目录。注意当项目有不同模块(即对应根目录下的子文件夹)时,使用"src\\name.dat"相对路径保存时还是会报错,要用"modulename\\src\\name.dat"。...
2021-09-24 23:07:24
3575
原创 TCP Socket报错:Socket is closed解决方法
Socket会在所有io流关闭后自动关闭。错误代码如下: OutputStream outputStream = socket.getOutputStream(); outputStream.write("Client is sending message".getBytes(StandardCharsets.UTF_8)); socket.shutdownOutput(); outputStream.close(); Input...
2021-09-24 21:58:01
7356
原创 java关于接口,抽象类,集合,多线程
什么是线程?一个程序写好了放在那,当开始运行的时候,就创造了一个进程。进程是个相对抽象的概念,分配了一定内存空间,真正做事的还得是线程。进程可以创造线程,线程也可以创造线程。比如一个java程序写出来,编译运行,运行就是创造了一个进程,而这个进程先创造一个main主线程。如果在main函数里又start几个线程,就实现了线程造线程,多线程开发。想要创造一个线程,首先要写个线程类,这个类要实现runnable接口或者干脆直接继承Thread类。这里建议runnable,因为一方面可以摆脱单继承限制
2021-09-21 23:59:57
204
原创 关于java中的反射机制与浅谈类加载
反射机制说实话有点抽象,写篇文章总结一下所学。因为反射机制会涉及到类加载,只有理解一点类加载的过程才能理解反射机制,所以顺便写一点类加载。对于一个程序,首先是写好程序的源代码,例如Test.java,通过javac命令让java编译器将其编译为对应的字节码文件Test.class。当运行这个字节码文件的时候,jvm会先用一个底层类classloader进入类加载阶段。这个阶段又分为三个小阶段,加载--->链接--->初始化。加载阶段将各个类的字节码文件(可能来自class文件,jar
2021-09-18 20:54:45
270
原创 关于java中的异常处理机制
Java中的异常处理也是用类来实现的。根类是object,throwable类继承了object,相当于就异常而言的根类。先解释一下异常,异常就是程序发生问题,而且这个问题不是语法错误或者逻辑错误。举个例子。我想要算1+1,程序里写了1+2,答案与预期不对,但是这是我自己逻辑问题导致的,不能怪电脑,不算异常。语法错误更好理解,我就没按电脑能理解的方式表达,更不能怪电脑。throwable类,或者就叫异常类吧,又分为两类,一类是error,一类是exception。我们基本上不怎么关心对error的异
2021-09-18 16:01:01
119
原创 前缀树实现剪枝
今天在刷leetcode的时候遇到一道题,大意是给一个集合,里面放了好多单词,再给一个图里面放着一堆字母,相邻的字母可以构成单词,问集合里的单词有多少个能被这么构造出来。会前缀树之前,反手一个dfs爆搜,超时了,考虑剪枝,其实很多时间都浪费在从一开始就不可能实现的单词上了,所以简简单单在深搜之前判断一下单词中的字母是不是每个都在图里出现过,偷鸡过了。前缀树其实作用就是剪枝,当我们要对一大堆字符串键值进行处理的时候,可以用空间换取时间,先写个解答树,每个父节点有26个子节点对应26个字母。比如一个单词
2021-09-16 13:44:26
139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人