java
asdfwxy
专注过程和结果,安心做技术;
展开
-
StringUtils.isNotBlank(),StringUtils.isNotEmpty(),object==null区别
1.StringUtils.isNotBlank(Object) 判断对象是否为空,包括为null,size=0,空格2.StringUtils.isNotEmpty(Object)判断对象是否为空,包括为null,size=03.Object==null 判断对象是否为null转载 2021-11-30 09:59:56 · 350 阅读 · 0 评论 -
ch.toString()和new String(数组)
toString() 方法返回此对象本身(它已经是一个字符串).Object 类的 toString( ) 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成.new String(数组) 把数组转为字符串package test;import util.DBUtil;import entity.Entity;public class test1 { public static void main(String[] args)转载 2021-11-29 20:09:56 · 816 阅读 · 0 评论 -
equals和==区别
字符串是否相等使用equals比较,是既比较了字面相等又比较了内存地址!在这里插入图片:StringBuilder和StringBuffer调用equals比较实际上是调用了,如果只是比较字符串是否相等先转换为String然后在比较是否相等!另有小知识://StringBuilder拼接字符串StringBuilder str1 = new StringBuilder();str1.append(word1);//String拼接字符串可以使用concatString str1 = ""原创 2021-11-12 15:27:21 · 223 阅读 · 0 评论 -
SpringBoot入门理解
1:SpringBoot是快速搭建基于Spring项目的脚手架。2:SpringBoot属性注入方式1,在application.properties配置文件中添加配置项,配置项有一个前缀(这里是jdbc)2,写一个配置文件类JdbcConfig读取配置项。添加**@configurationProperties注解指定前缀从配置文件中读取配置项**。这个DataSource封装了配置文件中所有以jdbc开头的配置项。JdbcConfig这个在后面整合了数据库连接池后就可以直接删掉不使用了。因为直接原创 2021-08-29 22:55:07 · 402 阅读 · 4 评论 -
applicationContext.xml配置理解
如果没有使用注解注入,需要在applicationContext.xml中注入,现在大部分都是用注解注入,但是也要看懂以下注入方法。下面是在userService中注入userDao,在userDao中注入jdbcTemplate。原创 2021-08-27 07:56:06 · 101 阅读 · 0 评论 -
web.xml配置解决乱码问题
对所有请求都扫解决乱码问题:原创 2021-08-27 07:42:28 · 375 阅读 · 0 评论 -
spring-mvc.xml页面的配置的理解
文件头改写:其他配置:原创 2021-08-27 07:39:39 · 82 阅读 · 0 评论 -
多对多关系设计表
用户和角色是多对多关系:先设计清楚表结构。使用用户id和角色id关联:原创 2021-08-27 07:27:11 · 599 阅读 · 0 评论 -
SpringMVC拦截器学习
步骤:准备:建一个controller,返回一个jsp页面1:创建实现HanlerInterceptor拦截器类的接口2:配置拦截器3:测试下发现什么都没返回(是因为HanlerInterceptor拦截器类中在访问目标资源以前返回了)改为true后返回了页面,访问了目标资源,并执行了访问目标资源后的操作。返回false不放行,返回true放行。根据是否带相应的参数值,才可以访问目标资源。不带参数或者带着错的参数,返回error页面输入正确参数后也可以对返回页面原创 2021-08-19 07:51:07 · 82 阅读 · 0 评论 -
java实现文件上传
文件上传步骤:导入坐标配置文件上传解析器编写代码文件上传前台三要素前台传入多个文件,名字跟后台接受传入的一致;后台代码,把文件保存到指定路径下;原创 2021-08-18 07:42:00 · 87 阅读 · 0 评论 -
Postman传入date类型
字符串输入格式:“2021-08-01 00:00:00”Date输入格式:“2019/09/09 11:20:20”插入到数据库中是DATE类型:先获取到参数转为String类型,在格式化为Date类型stateTime = (String) businessList.get(j).get("stateTime");DateUtil.stringToDate(stateTime, "yyyy/MM/dd HH:mm:ss", "状态时间")...原创 2021-08-17 17:04:15 · 2756 阅读 · 0 评论 -
springmvc学习返回视图或字符串
返回试图1:直接返回String字符串,拼接前后缀,进行页面跳:2:返回modelAndView,拼接前后缀,返回页面success.jsp3:注入modelAndView,拼接前后缀返回页面success.jsp4:把model与view分开,设置model的展示参数也可以5:也可以使用httpServlet对象,但是不常用,因为使用了框架就尽量与web阶段的Servlet API解耦回写数据1:使用httpServlet对象返回字符串,但是不常用,因为使用了框架就尽量与web阶段原创 2021-08-04 07:36:11 · 1533 阅读 · 0 评论 -
postman调用接口传入List<personVO>作为参数
1:输入接口访问地址2:body-> raw ->选JSON格式 输入传入的值原创 2021-06-16 14:19:14 · 504 阅读 · 0 评论 -
从svn导入项目后,项目报错
在window->perference->maven->installation中配置本公司的maven地址然后在User setting中设置下local Repository原创 2021-06-10 09:22:49 · 265 阅读 · 0 评论 -
java & 按位与,逻辑运算与
java中&与&&的区别&是位运算符也是逻辑运算符:当&两边时Int类型,转为二进制运算,如果&两边是boolean表达式,都为真才为真。//12&5 的值是多少,先转为二进制 12->1100,5->01011100 & 0101 = 0100//12&1的值是多少1100 & 1 = 0通过以上得到结论:&同为1才得1。&做逻辑运算时同时为真才为真。&&两边必须原创 2021-04-30 17:07:34 · 263 阅读 · 1 评论 -
vue+SpringBoot解决跨域问题
在Application同级目录下建一个CorsConfig文件@Configurationpublic class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用原创 2021-04-29 17:17:58 · 132 阅读 · 0 评论 -
hibernate自动生成映射实体类
转载地址原创 2021-04-29 16:09:26 · 164 阅读 · 0 评论 -
Vue+SpringBoot使用注解@CrossOrigin解决跨域问题
背景:前台vue使用本地8082端口,后台使用8080端口,这样前台访问后台时候就产生了跨域问题。这里是从后台解决跨域问题。@RestController@CrossOrigin //这个注解解决了跨域问题@RequestMapping("/account")public class AccountController { @GetMapping("/{id}") public Account retrieve(@PathVariable Long id) { //原创 2021-04-27 09:19:48 · 999 阅读 · 1 评论 -
TreeSet中使用comparator排序
如果年龄相同,按照姓名排序,如果都相同,就去除重复。原创 2021-04-18 21:36:21 · 204 阅读 · 0 评论 -
IDEA显示当前类中所有的方法列表
原创 2021-04-18 20:10:17 · 3825 阅读 · 4 评论 -
获取任意年的二月份有几天
使用Calendar的方法,获取任意年的二月份有几天!原创 2021-04-18 19:34:17 · 164 阅读 · 0 评论 -
String与StringBuilder区别和互相转换
String每次拼接都会在堆内存中生成新的对象,即耗时又浪费空间。通过StringBuilder可以解决这个问题,在拼接时不会创建新的对象。也就是说String是不可变得,StringBuilder是可变的。String与StringBuilder转换:...原创 2021-04-08 07:22:58 · 204 阅读 · 0 评论 -
String通过构造方法创建字符创对象与直接赋值的区别
创建对象方式,在堆内存中有一个新的实例,虽然两个对象指向同一块内容,但是他们本身是两个不同对象。如果直接赋值,堆内存中对于相同内容赋同一个常量池地址,所以直接赋值,两个虽然名称不同,但是相等,因为地址内容相同。...原创 2021-04-08 07:02:39 · 225 阅读 · 0 评论 -
windows与Linux中使用的JDK不相同
java的跨平台特性:是指一次编写可以在不同的平台中运行,是因为每个平台使用的JDK不同,编译工具和运行环境是不同根据各自平台的特点执行程序。原创 2021-03-10 19:43:40 · 836 阅读 · 0 评论 -
LC思路记录
2021-01-25第66题:关键点数组加一进位思路:判断数组最后一位加上1后的数组数,最后一位如果是9考虑进位,如果是其他直接返回。从后向前遍历数组,让当前digists[i]加上1,digists[i]=digists[i]%10。如果digists[i]对10取余不等于0,直接返回digists。否则循环进入下一位,让下一位进位,然后判断下一位对10取余后的数是否是0,如果不是就返回数组,否则继续进位,直到所有都为0的话就扩容数组,并让数组第一位为1。public class Solution2原创 2021-01-25 20:39:22 · 217 阅读 · 0 评论 -
java创建Maven web项目
1:首先创建一个空项目,然后创建module2:在run->Edit Configration 中添加Tomcat3:设置镜像下载所需要spring jar包。找到IDEA下的plugins->maven->lib->maven3->conf 下的setting.xml文件中 <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> &原创 2020-12-01 08:54:20 · 146 阅读 · 0 评论 -
IDEA将普通Web项目转Maven项目
转载博文地址转载 2020-11-30 19:06:28 · 563 阅读 · 0 评论 -
解决端口占用问题
如果发现某个端口被占用,就找到然后kill了占用这个端口的进程。原创 2020-07-08 15:49:55 · 154 阅读 · 0 评论 -
Tomcat部署java项目修改配置文件理解
Tomcat常用的部署方式:在conf\Catalina\localhost中创建任意名称xml文件。在文件中编写:。访问时的虚拟目录:xml文件的名称。项目的目录结构:WEB-INF目录:-web.xml:web项目的核心配置文件。-Classes目录:放置字节码文件的目录-lib目录:放置依赖的jar包。...原创 2020-07-08 15:28:15 · 514 阅读 · 0 评论 -
Java网络编程Servlet学习
定义servlet是一个接口,定义了java类被Tomcat访问到的规则。实现步骤定义一个类实现这个接口,复写方法。注解配置路径或者使用web.xm配置路径。执行原理1:服务器端接到客户端访问的路径后,解析URL路径,获取访问的Servlet资源路径。2:查找web.xml,根据url-pattern找到该路径。Servlet3.0以上的版本,可以不创建web.xml,可使用注解配置。(java6以上支持servlet3.0)3:根据servlet-name找到servlet-class类名原创 2020-07-07 21:55:46 · 164 阅读 · 0 评论 -
Java中的写入流OutputStreamWriter,读入流InputStreamReader
InputStreamReader是字节通向字符的桥梁,它使用指定的charset读取字节并将其解码为字符。也就是可以指定编码表。OutputStreamWriter是字符转向字节。OutputStreamWriter可使用指定的charset,将要写入流的字符编码成字节。Writer父类的方法都可以使用。构造方法:OutputStreamWriter(OutputStream,编码方式);使用步骤1:创建OutputStream对象,构造方法中传递字节输出流和指定的编码表名称。2:使用Out原创 2020-06-27 11:50:42 · 818 阅读 · 0 评论 -
Java中缓冲流FileOutPutStream,BufferWriter
java中的缓冲流也叫高效流,是对4个基本File流的增强,所以也是四个流。字节缓冲流:BufferInputStream,BufferOutPutStream。字符缓冲流:BufferedReader,BufferWriter;字节缓冲流使用步骤:1:创建FileOutPutStream对象,构造方法中绑定要输出的目的地。2:创建BufferOutPutStream对象,构造方法中传递FileOutPutStream对象,提高FileOUtPutStream效率。3:调用BufferOutP原创 2020-06-27 10:07:18 · 1332 阅读 · 0 评论 -
Java中File的方法(递归查找文件例子)
1:获取文件信息的方法。public class FileMethod { public static void main(String[] args) { File file = new File("E:\\wxy\\20-21vue\\npm.txt"); System.out.println(file.getPath());//获取路径,等于file.toString System.out.println(file.toString());//等于getPath Syste原创 2020-06-23 14:22:16 · 1561 阅读 · 0 评论 -
Java中Lambda简化代码实现
使用Lambda简化多线程实现在没有进行简化代码时,我们使用的是这样的代码创建多线程。public class RunableIpm implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()+"实现了一个线程"); }}public class IRunnable { public static void main(String[] args原创 2020-06-23 11:17:03 · 245 阅读 · 0 评论 -
Java线程池创建
线程池的使用步骤:1:使用线程池的工厂类Executors里面提供的静态方法newFixedThreadPool生产一个指定线程数量线程池。2:创建一个类,实现Runnaable接口,重写run方法,指定线程任务。3:调用ExecutorService中的submit,传递线程任务(实现类),开启线程,执行run方法。4:调用ExecutorService中的shutdown销毁线程池(不建议执行)public class ThreadPo { public static void main(S原创 2020-06-23 08:50:37 · 307 阅读 · 0 评论 -
Java等待唤醒机制
创建一个消费者,告知生产者包子的种类和数量,调用wait方法,放弃cpu的执行,进入到无限等待状态。创建一个生产者,花了5秒做包子,做好包子之后调用notify()方法,唤醒顾客吃包子。注意:顾客和老板线程必须使用同步代码块包裹起来,保证等待和唤醒只能有一个在执行同步使用的锁对象必须保证唯一只有锁对象才能调用wait和notifypublic abstract class WaitAndNotify implements Runnable{ public static void main(St原创 2020-06-22 20:40:35 · 136 阅读 · 0 评论 -
java多线程学习(线程的同步机制)
线程安全问题线程安全问题:当多线程访问了共享数据就会产生线程安全问题。如:总共有5张票,电影院有三个窗口卖票,要让三个窗口共享票的数据。public class SaleTicket implements Runnable{ public static int ticket = 5;//一共有5张票 @Override public void run() {//多线程执行的任务,卖票 while(true) {//一直执行卖票的动作 if(ticket>0) {//先判断是否有票原创 2020-06-22 16:00:21 · 240 阅读 · 0 评论 -
Java多线程学习(线程的两种实现方式)
基础知识并发:在同一时间段中交替执行并行:同一时刻同时执行进入到内存中的程序叫做进程。线程是进程的执行单元,一个进程可以包含多个线程。线程调度:分时调度;轮流使用cpu资源。抢占式:优先级高的线程抢占CPU,java使用的是抢占式。主线程:执行主方法的线程。创建多线程第一种方式**创建多线程的第一种方式:**创建Thread类的子类。java.lang.Thread类:描述线程的类,我们想实现线程,必须继承这个类。实现步骤:1:创就一个Thread子类2:在Thread子类中重写Th原创 2020-06-22 14:11:35 · 263 阅读 · 0 评论 -
java基础(Map集合及子类的遍历)
1:Collection集合与Map集合Collection集合:元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储。单例集合。Map集合:每个元素是由健和值两部分组成,通过键可以找到对应的值,健不能重复。双例集合。2:Map的子类HashMap<K,V>特点:1:HashMap底层是哈希表,查询速度很快2:HashMap是一个无序集合,存和取顺序不一致。LinkedMap<K,V>特点:1:是有序的,存和取得顺序一致。3:HashMap<k,v&原创 2020-06-17 21:08:38 · 310 阅读 · 0 评论 -
java中可变参数,参数类型确定,个数不确定
参数的类型已经确定,但是参数的个数不确定。public class Param { public static void main(String[] args) { mparameter(10,20,30); } public static void mparameter(int...arr) {//可变参数 System.out.println(arr);//代表一个数组 System.out.println(arr.length); int sum=0; for(int i原创 2020-06-17 17:20:06 · 395 阅读 · 0 评论