- 博客(35)
- 收藏
- 关注
翻译 java实现单例模式以及防破坏
都知道怎么创建单例模式,这里就直接贴上代码** * @author YoonaLt 翻译 * 惰性加载(懒汉),线程安全的单例模式 */public class Singleton { /** * 使用 volatile 关键字禁止指令重排 */ private static volatile Singleton singleton; /** * 构造器私有化,禁止外部创建 */ private Singleton..
2020-07-17 15:52:32
364
原创 SpringBoot 使用 MultipartFile 上传文件及可能遇到的错误排查
SpringBoot2.1.3,Maven,JDK1.8首先贴上基本代码,然后一一排查可能遇到的问题.@RestController@RequestMapping(value = "load")public class FileLoad { /** * 接收到的文件根据自己的业务需求进行处理. * * @param file 将要上传的文件 * @return java.lang.String 上传后的文件名称 */ @Pos
2020-07-13 10:54:48
13961
3
原创 微信开发---授权登录
记录下微信开发遇到的遇到的几种授权,待继续填充一 开放平台-网站应用 详情阅读官方文档 1.1 获取授权access_token 以及标识 openid 。 method: get url:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code par...
2020-05-26 15:17:56
896
2
翻译 Redis数据库的持久化
本文出自 Redis的设计与实现 黄建宏 一书.只是对这部分内容进行了一点小整理. 作为内存数据库,在运行时,Redis会将数据存储到内存中.也就是说,进程一旦退出,Redis存储的数据就会消失.为了解决这个问题,Redis提供了RDB,AOF持久化功能. 通俗地来讲.RDB持久化功能是通过保存数据库 键值对 来记录数据库的状态不同; AOF 持久化是通过保存服务器所 执行的命令 来记录数据库的状态不同.RDB: RDB持久化既可以手动执行,也可以根据配置文件...
2020-05-25 16:04:31
305
原创 Java8---LocalDateTime,LocalDate与String的相互转换
/** * @author YoonaLt * LocalDateTime 与 LocalDate 都提供了 plus***(加),minus***(减)等方法, * 可以方便的获取与目标日期相距几年,几个月,几个星期,几个小时,几分,几秒的时间. */public class DateUtils { private static String DETAIL_FORMAT_ST...
2020-04-22 16:09:53
5166
原创 微信开发---获取公众平台,小程序,企业应用,企业自建应用的接口调用凭证access_token
文档上有说明,调用绝大多数后台接口时都需使用 access_token,开发者需要进行妥善保存.凭证的有效期目前是7200秒,且不应该频繁调取,应该进行缓存.另外建议开发者使用中控服务器统一获取和刷新access_token,其他业务逻辑服务器所使的access_token均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致access_token覆盖而影响业务.首先是小程...
2020-04-20 16:48:57
524
翻译 SpringBoot使用httpclient发送Get,Post请求
SpringBoot版本为2.0.1,pom文件添加依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> ...
2020-04-20 11:10:09
3496
原创 SpringBoot使用QQ邮箱发送邮件
环境: IDEA,SpringBoot,QQ邮箱开启smtppom导入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail<...
2019-12-09 15:32:49
469
原创 JDBC初探
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。简言之,JDBC就是Java用于执行SQL语句实现数据库操作的API。使用JDBC的大体步骤是...
2019-11-06 14:21:15
704
原创 springboot自定义权限拦截器的简单实现
环境:IDEA,jdk1.8,springboot2.1.3,maven一、拦截器实现类/** * 自定义权限拦截器 * * @author YoonaLt * @date 2019/10/29 */@Slf4jpublic class CustomIntercept implements HandlerInterceptor { /** * 使用自定...
2019-10-30 15:20:23
601
原创 SpringBoot 简单整合AOP
开发环境为 IDEA,jdk1.8,Maven,SpringBoot2.1.3AOP使用场景很多,此示例场景为对 web 请求进行日志记录一、在pom文件中导入AOP依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-aop --><depen...
2019-10-29 15:23:40
223
翻译 SpringBoot引用外部配置文件
springboot 项目打jar包后,如果需要修改配置文件,就需要重新打包。如果打包时配置文件不计入在内,放在一个单独的位置,每次修改时只需修改配置文件就好,这里使用官网的一个方式:官方文档1.file: ./config/ 当前 jar 包下新建 config 文件夹,放入配置文件 2.file: ./ ...
2019-10-28 09:49:36
773
原创 Java8---Lambda表达式
了解Lambda表达式之前,需要对匿名内部类与函数式接口了解。一、函数式接口1.有且只有一个抽象方法,但可以有多个非抽象方法。2.可以隐式的转换为 Lambda 表达式。3.可以在任意函数式接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口,同时javadoc也会包含一条声明,声明这个接口是一个函数式接口。在 JDK1.8之前,ja...
2019-10-21 14:20:15
181
原创 自定义参数校验注解
注解定义Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据。为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取注解内容。在编译器生成类文件时,注解可以被嵌入到字节码中。Java虚拟机可以保留注解内容,在运行...
2019-10-14 17:33:55
1120
转载 HashMap的源码初理解
一 定义基于哈希表的 Map,Cloneable, Serializable接口的实现。与 HashTable 类相似,只不过 HashMap 允许 null 键与 null 值,而且HashMap 是非同步的,HashMap可以通过 Map m = Collections.synchronizeMap(hashMap) 语句进行同步。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。如果...
2019-08-28 11:25:04
264
翻译 springboot下使用redisTemplate清空redis
使用 redisTemplate 方法清空redis时,需要Set<String> keys = redisTemplate.keys("*");redisTemplate.delete(keys);这样就可以执行清空redis操作.
2019-06-11 14:59:43
5857
5
转载 Mybatis中 $ 与 # 的区别
#{}是预编译处理,${}是字符串替换。(1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值。(2)mybatis在处理${}时,就是把${}直接替换成变量的值,没有转义。(3)使用#{}可以有效的防止SQL注入,提高系统安全性。原因在于:预编译机制。预编译完成之后,SQL的结构已经固定,即便用户输入非法参数,也不...
2019-06-03 14:07:33
381
原创 Centos7配置静态Ip,解决能ping 通Ip,不能ping通域名
安装好系统之后,进入控制台,查看ip地址我这边创建虚拟机的时候只配置了一个网卡,记住想要配置的网卡名称.vi ifcfg-eno16777984 打开,原配置为修改为然后重启网络服务,命令为service network restart,发现问题内网 ping 192.168.20.20 可以连接外网 ping www.baidu.co...
2019-05-30 11:45:08
10020
2
翻译 一种消息系统.spring boot redis失效key监听
springboot,idea,jdk8遇到一个需求,需要每周一向用户推送通知,用户参与的视频会议开始前60min,15min,5min给其发送通知.用户关注会议开始前10min推送,还有其他两种通知.用户在线,即时收到;用户不在线,登录时收到.首先需要配置 websocket ,网上有很多相关资料,这个我就不赘述了.接下来就要完成相关需求了.第一反应是使用 定时器 ,只要在启动类上...
2019-03-21 17:38:57
2316
原创 mysql按年,月,日分组(group by)统计,count函数内添加筛选条件及其其他函数,使用方法
create_time 为数据库一时间相关字段,需要根据这个字段将查询到的数据按照年(月/日等)分组:时间格式: SELECT DATE_FORMAT(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM role GROUP BY days; SELECT DATE_FORMAT(create_time,...
2019-02-20 10:59:05
7061
1
原创 Linux安装redis压缩文件
一、Redis介绍Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。和...
2019-02-20 10:24:34
432
转载 Mysql存储引擎简单介绍
创建表的时候,总会这样输入CREATE TABLE IF NOT EXISTS `my_table`( `my_table_id` INT UNSIGNED AUTO_INCREMENT, `my_table_title` VARCHAR(32) NOT NULL, PRIMARY KEY ( `my_table_id` ))ENGINE=InnoDB DEFAULT C...
2019-01-18 14:50:17
182
翻译 面向对象编程的特征,原则
OOP:(Object Oriented Programming),面向对象的程序设计。所谓“对象”在显式支持面向对象的语言中,一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为:方法)。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。特征一 封装定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。目的:增强安全性...
2018-12-27 15:48:53
176
转载 初步了解jdk,jre,jvm
JDKJDK(Java Development Kit) 是 Java 语言的 软件开发工具包(SDK)。其结构图为JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 ①SE(J2SE),standard e...
2018-12-24 16:00:03
200
原创 mybatis插入多条数据,id自动为生成的uuid,传入的数据格式为map的解决方式
撸代码遇到过这种情况:insert into user(id,user_name,user_age) values(自动生成的uuid,"张三",18), (自动生成的uuid,"李四",19), (自动生成的uuid,"王五",20), (自动生成的uuid,"冯六",21)使用 mybatis 该怎样实现呢?首先select replace(uuid(),'-','') fr...
2018-12-13 15:36:03
5248
2
原创 Spring boot @Validated注解以及配合@Valid的使用
环境:idea,springboot,ssm简单的方法是 直接在Controller内的接口参数前加上校验注解(@NotBlank...等),此时需在类上加注解 @Validated即可.当校验参数过多,这种方法使接口参数看起来过于臃肿,代替的选择是使用 @Validated 注解来进行一些参数的验证.第一步 Bean实体类加注解下面是验证注解的类型@Null 只能为...
2018-12-04 13:46:28
7739
翻译 Java的switch case
在jdk1.7以后, switch() 中的变量类型只能为 string,int,short,byte,char,Integer,Character,enum 类型,其他类型运行会报错.switch case语句基本格式为:switch(变量){ case 变量值1: //逻辑 break; case 变量值2: //逻辑...
2018-11-26 10:36:10
197
翻译 Mybatis自动生成器Generator的配置及使用
使用的是IDEA,SpringBoot,Maven.1.首先在 pop.xml 中导入依赖与插件<!--mybatis--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-star...
2018-11-20 10:11:24
379
翻译 Spring Controller层接收Date类型参数报错
使用springboot整合ssm, controller层接收Date格式参数报错接收格式为yyyy-MM-dd HH:mm:ss时,在实体类对应字段上添加注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")如果解决不了问题,可以在controller中添加此方法 @InitBinder ...
2018-11-01 11:08:08
1463
原创 MyBatis动态SQL,分页查询,List/Array/Map查询.
动态sqlif<select id="selectAll" parameterType="com.yoona.dao.doctor" resultType"BaseResultMap"> select * from doctor where <if test=...
2018-10-23 16:16:36
960
1
原创 Can't connect to MySQL server on 'localhost' (10061)
Windows安装,出现上述提示: 首先确认MySQL是否成功加入到windows服务,如果没有加入.切换到MySQL安装bin目录,输入 mysqld install 即可加入. 然后查看 mysql服务名称,有的不是MySQL,这样 net start mysql 就无发启动,需要将启动命令换为 net start 服务名称. 输入命令后后又提示:...
2018-08-28 11:09:02
208
原创 安装python时出现的错误0x80072efd及0x80072f7d的解决方法
0x80072efd:是下载不了dubugging symbols和debug binaries的问题。要翻墙。或者把2个Download的安装选项取消,就可以完成了。0x80072f7d:修改了EXE文件名称安装成功感觉问题解决的十分不靠谱,感谢https://blog.youkuaiyun.com/quantum7/article/details/81738839,脑残丞相的提醒,他安装时也...
2018-08-02 21:13:30
16111
12
原创 列表推导式与lambda的结合
def fun(): # return (lambda x: x * i for i in range(4)) # 结果是[0,2,4,6] return [lambda x: x * i for i in range(4)]预期结果应该是[0,2,4,6],但确是[6, 6, 6, 6]print([m(2) for m in fun()])--------------------...
2018-04-25 19:18:09
1388
转载 python中的单例模式
来自SegmentFault的funhacks单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文...
2018-04-06 19:21:32
126
原创 nginx: [alert] kill(12268, 1) failed (3: No such process)
运行nginx服务器时,终端下输入命令ps aux|grep nginx,正确应显示如下图: 但是却没有显示中间nobody 3162 0.0 0.1 37228 3548 ? S 22:58 0:00 nginx: worker process这一行,只有其它两行的状况。这样就会造成通过django管理员进入后台传到fastdfs中的图片无法通过静态网...
2018-03-09 23:15:41
577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人