Java
紫陌520
这个作者很懒,什么都没留下…
展开
-
【Java跨域问题】SpringBoot 解决 Cors 跨域问题
目录1.使用@CrossOrigin注解实现2.通过配置文件配置全局的CORS1.使用@CrossOrigin注解实现对单个接口配置CORS@CrossOrigin(origins = {"*"})@PostMapping("/hello")@ResponseBodypublic ResultVO hello() { return new ResultVO(1,"成功");}对某个Controller下的所有接口配置CORS@CrossOrigin@Con原创 2020-06-16 15:41:29 · 271 阅读 · 0 评论 -
【Java定时任务】浅谈CronTrigger的用法和在线Cron表达式生成网址
目录0.CronTrigger的作用1.Cron表达式2.Cron表达式特殊字符意义对应表0.CronTrigger的作用CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。即便如此,SimpleTrigger一.原创 2020-06-11 16:08:44 · 3786 阅读 · 1 评论 -
【定时任务】Spring Boot 定时执行任务详解,每天定时几点钟执行任务
目录一、静态:基于注解二、动态:基于接口三、多线程定时任务序言:使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式:一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。 三、基于注解设定多线程定时任务一、静态:基于注解基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行原创 2020-06-10 19:35:18 · 19805 阅读 · 0 评论 -
【定时任务】JAVA定时执行任务,每天定时几点钟执行任务(Timer)
JAVA定时执行任务,每天定时几点钟执行任务的示例如下:1.建立TimerManage类,设置时间点,时间点设置的管理类,代码如下:package com.pcitc.time;import java.util.Calendar;import java.util.Date;import java.util.Timer;public class TimerManager { //时间间隔 private static final long PERIOD_DAY =原创 2020-06-10 17:10:29 · 2665 阅读 · 1 评论 -
【Gson用法】Gson和String,List的相互转换(序列化反序列化)
前言:目前网络上有很多接口是Json形式的,Gson是谷歌开源的Json解析库,可以方便的将Java对象转换成Json字符串,也可以方便的将Json字符串转换成Java对象。OrderDTO.java@Datapublic class OrderDTO { /** 订单id. */ private String orderId; /** 买家名字. */ private String buyerName; /** 买家手机号. */ pr原创 2020-06-10 16:15:56 · 4058 阅读 · 0 评论 -
【java8新特性】stream流的方式遍历集合(几个常用用法)
前言:在没有接触java8的时候,我们遍历一个集合都是用循环的方式,从第一条数据遍历到最后一条数据,现在思考一个问题,为什么要使用循环,因为要进行遍历,但是遍历不是唯一的方式,遍历是指每一个元素逐一进行处理(目的),而并不是从第一个到最后一个顺次处理的循环,前者是目的,后者是方式。 所以为了让遍历的方式更加优雅,出现了流(stream)!stream的方法:这篇文章主要先讲3个常用的情景:一:把list里每一个对象的某个属性值取出来放到list中二:把list里每一个对象的某几..原创 2020-06-10 15:24:13 · 13182 阅读 · 0 评论 -
JavaWeb 之 14.JDBC基础
**JDBC的简介和快速入门****JDBC的简介** 1.MySQL驱动包(JDBC接口的实现类,就是一个jar包)。 2.JDBC是SUN公司提出一套规范,就是一组接口。这写接口的实现类是由各个数据库的生产商提供的。 3.JDBC的快速入门的开发有一些的开发步骤 **快速入门** 1.把MySQL驱动包导入到工程中。...原创 2018-10-21 09:48:35 · 183 阅读 · 0 评论 -
Java中 类似 JS中的encodeURIComponent 代码的实现
今天编写代码的时候遇到了个问题,就是JS中有encodeURIComponent的方法(如果不清楚js中这个方法的用法请点击这里),而Java中没有类似的方法,例如不能把地址https://www.baidu.com/ 当中的“:” “/” 进行编码,所以就想了一个办法效果和JS中encodeURIComponent方法运行出来的结果一样,请看下面代码并试着运行一下 ^_^首先要导入这...原创 2018-11-13 10:19:34 · 10022 阅读 · 4 评论 -
Java文件操作(1)—— 读取.txt文件的指定行,并确定该行的字符数
1.介绍java.io.BufferedReader和java.io.BufferedWriter(1)java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文...原创 2019-04-12 09:17:19 · 1401 阅读 · 1 评论 -
Java--List之深拷贝
List 深拷贝如图,深拷贝就是将A复制给B的同时,给B创建新的地址,再将地址A的内容传递到地址B。ListA与ListB内容一致,但是由于所指向的地址不同,所以改变相互不受影响。深拷贝的方法使用序列化方法public static <T> List<T> deepCopy(List<T> src) throws IOException, Cla...原创 2019-08-30 14:49:48 · 864 阅读 · 0 评论 -
Java基础及提高 之 线程的生命周期
生命周期一个事物从出生的那一刻开始到最终死亡中间的整个过程.在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态/中年状态/老年状态...).线程也是有生命周期的,也是存在不同的状态的,状态相互之间的转换. 线程状态线程对象的状态存放在Thread类的内部类(State)中:注意:Thread.State类其实是一个枚举类. 因为线程对象的状态...原创 2018-09-14 17:22:41 · 104 阅读 · 0 评论 -
Java基础及提高 之 多线程之线程通信
一、为什么要线程通信?1. 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。2. 当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话,虽然可以实现,但是在很大程度会造成多线程之间对同一共享变量的争夺,那样的话势必为造成很多错误和...原创 2018-09-14 16:41:12 · 112 阅读 · 0 评论 -
Java经典算法 之 冒泡排序
&amp;amp;nbsp;原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较...原创 2018-08-28 15:46:03 · 121 阅读 · 0 评论 -
Java基础及提高 之 异常篇
try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。package Test; publi...原创 2018-08-31 13:38:31 · 164 阅读 · 0 评论 -
Java基础及提高 之 日期日历篇
Java 日期时间java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(long millisec)...原创 2018-09-03 11:08:25 · 107 阅读 · 0 评论 -
Java基础及提高 之 ListIterator和Iterator区别和使用
一.相同点 都是迭代器,当需要对集合中元素进行遍历不需要干涉其遍历过程时,这两种迭代器都可以使用。 二.不同点 1.使用范围不同,Iterator可以应用于所有的集合,Set、List和Map和这些集合的子类型。而ListIterator只能用于List及其子类型。 2.ListIterator有add方法,可以向List中添加对象,而Iterator不能。 3.ListIterator...原创 2018-09-06 10:38:00 · 124 阅读 · 0 评论 -
Java基础及提高 之 Comparable和Comparator区别和使用
一、Comparable简介Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。此外,实现此接口的对象可以用作有序映射中的键或有序集合中的集合,无需指定比较器。该接口定义如下:package java.lang;...原创 2018-09-10 13:49:49 · 116 阅读 · 1 评论 -
Java基础及提高 之 如何判断两个对象是否相等(equals和==的区别)
如何判断两个对象相等,这个问题实际上可以看做是如何对equals方法和hashcode方法的理解。从以下几个点来理解equals和hashCode方法:1、equals的作用及与==的区别。2、hashcode的作用及与equals的关系。1、equals的作用及与==的区别。equals被用来判断两个对象是否相等。equals通常用来比较两个对象的内容是否相等,==用来比...原创 2018-09-10 18:01:36 · 752 阅读 · 0 评论 -
Java基础及提高 之 数组,List,Set,Map的几种遍历方式
目录一,数组的遍历方式二,List的遍历方式三,Set的遍历方式四,Map的遍历方式 一,数组的遍历方式数组有两种遍历方式:public class ArrayXunhuan { public static void main(String[] args) { int[] arr = new int[]{1,2,3,4,5}; // 或者 int[] ...原创 2018-09-13 11:30:47 · 187 阅读 · 0 评论 -
Java基础及提高 之 线程创建的两种方式Thread VS Runnable(附卖票和取钱问题)
1.首先来说说创建线程的两种方式一种方式是继承Thread类,并重写run()方法public class MyThread extends Thread{ @Override public void run() { // TODO Auto-generated method stub } } //线程使用 MyT...原创 2018-09-13 16:18:11 · 236 阅读 · 0 评论 -
Java面试题2017版
Java面试宝典2017版原创 2017-08-08 21:53:18 · 833 阅读 · 0 评论