Java
星前冷
不会就学,一遍不会,那就两遍,三遍,总能得到梦中花!
展开
-
分布式日志设计,Java代码实现
在分布式系统下,用户一个请求通常需要先后调用(rpc、http)多个工程模块,依次处理数据,才能返回正确结果。日志变得越来越分散,如何更好地收集和分析日志,就变成了一个特别重要的问题。原创 2022-05-16 22:34:54 · 663 阅读 · 0 评论 -
网易163邮箱javax.mail.MessagingException: B3 NO EXAMINE Unsafe Login,实际可用
解决网易163邮箱开发报错: B3 NO EXAMINE Unsafe Login原创 2022-03-18 16:10:14 · 1807 阅读 · 0 评论 -
IMAP协议定时监听接收邮件(QQ邮箱、网易邮箱都可)
网易邮箱,QQ邮箱接收邮件,监听邮件原创 2022-03-18 16:02:31 · 4004 阅读 · 0 评论 -
qq邮箱,网易邮箱,smtp邮箱发邮件
smtp邮箱发送邮件,包括(QQ邮箱和网易邮箱)原创 2022-03-16 15:08:09 · 3378 阅读 · 0 评论 -
redis设置key当天到期、当月到期
redis过期策略过期策略通常有以下三种:定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。惰性过期:只有当访问一个key时,才判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好,与 spring 的延迟初始化有着异曲同工之妙。但有可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存。所以Redis原创 2022-03-07 11:07:27 · 5903 阅读 · 0 评论 -
HttpServletRequest对象创建
HttpServletRequest对象创建原创 2022-03-04 11:58:04 · 10051 阅读 · 2 评论 -
OAuth 2.0设计(以微信登录为例)
在实际应用开发中,我们常常需要使用微信作为应用的登陆方式,不同于手Q登陆使用传统的ptlogin,微信登陆采用了OAuth 2.0的验证方式。本文将以微信登录为案例,具体分析介绍所采用的OAuth 2.0验证方式。OAuth 2.0身份系统设计1. 场景介绍。2. 什么是OAuth 2.0?3. 授权码模式介绍。4. 授权码模式具体到微信登录架构设计。5. OAuth 2.0为什么不直接返回access_token?1. 场景介绍。作为一个第三方应用,用户通过微信登录应用,应用方想获取用户的一些私密信原创 2021-10-05 10:56:56 · 1836 阅读 · 0 评论 -
比较器compareTo和compare()的lambda用法
//s1+s2 > s2+s1, 则返回1list.sort((s1, s2) -> (s1 + s2).compareTo(s2 + s1));/*** @param anotherString the {@code String} to be compared.* @return the value {@code 0} if the argument string...原创 2020-03-22 17:32:12 · 2307 阅读 · 0 评论 -
swagger使用,附代码
Spring Boot 集成 Swagger使用方法:1.添加Maven依赖 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox<...原创 2019-10-21 18:36:05 · 214 阅读 · 0 评论 -
类发生初始化的六种时机和初始化顺序
对于初始化阶段,虚拟机规范严格规定了有且只有5种情况必须立即对类进行初始化:遇到new、getstatic、putstatic和invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。生成这4条指令的最常见Java场景:使用new关键字实例化对象的时候;读取或设置一个类的静态字段(被final修饰、已在编译期把结果放入常量池的静态字段除外)的时候;以及调用一个...原创 2019-10-10 15:46:16 · 502 阅读 · 0 评论 -
json解析为Java类
定义Java类(node中包含node):需要注意的是:类的属性名必须与json数据一致,否则无法解析。package com.example.demo.POJO;import lombok.Data;import org.springframework.stereotype.Component;@Data@Componentpublic class OperateJson {...原创 2019-09-02 11:10:06 · 431 阅读 · 0 评论 -
excel数据转json并存储在list中
package com.example.demo.util;import com.fasterxml.jackson.databind.node.ArrayNode;import com.fasterxml.jackson.databind.node.ObjectNode;import org.apache.poi.ss.usermodel.Cell;import org.apache....原创 2019-09-02 10:58:12 · 235 阅读 · 0 评论 -
Json工具类
在工程中定义此类,方便以后进行json数据转换逻辑操作。package com.example.demo.util;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.dat...原创 2019-09-02 10:50:42 · 112 阅读 · 0 评论 -
Spring Data JPA配置使用联合主键demo
我们在Spring Boot下使用Spring Data JPA,在项目的Maven依赖里添加spring-boot-stater-data-jpa,然后只需定义DataSource、实体类和数据访问层,并在需要使用数据访问的地方注入数据访问层的Bean即可,无须任何额外配置。...原创 2019-08-30 18:37:39 · 1072 阅读 · 1 评论 -
@ApiModel和@ApiModelProperty用法
@ApiModel使用场景:在实体类上边使用,标记类时swagger的解析类。概述:提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省。用法:@ApiModelProperty使用场景:使用在被 @ApiModel 注解的模型类的属性上。表示对model属性的说明或者数据操作更改 。概述:添加和操作模型属性的数据。用法:...原创 2019-07-31 16:03:11 · 58937 阅读 · 0 评论 -
使用dbutils完成curd操作
dbutils是apache组织提供的工具类,jdbc的框架。使用步骤:导入jar包(commons-dbutils-1.5.jar)创建一个queryrunner类queryrunner作用:操作sql语句构造方法:new QueryRunner(Datasource ds);编写sql语句执行sql语句query():执行r操作;update():执行cud操作;执...原创 2019-04-17 15:56:14 · 166 阅读 · 0 评论 -
反射
获取对应的class对象方式1Class clazz = Class.forName("全限定名");方式2Class clazz = 类名.class;方式3Class clazz = 对象.getClass();通过class对象创建一个实例对象(类名) clazz.newInstance();通过class对象获取一个方法clazz.getMethod...原创 2019-04-22 15:39:27 · 85 阅读 · 0 评论 -
Java自定义jdbc连接池
获取连接工具类:package com.itest;import java.sql.*;public class JdbcUtils { //获得连接 public static Connection getConnection() throws Exception { Class.forName("com.mysql.jdbc.Driver"); ...原创 2019-04-17 21:39:57 · 419 阅读 · 0 评论 -
装饰者模式
使用步骤装饰者和被装饰者实现同一个接口或者继承同一个类装饰者中要有被装饰者的引用对需要增强的方法进行加强对不需要加强的方法调用原来的方法实现代码:package com.itest;//实现同一个Car接口public interface Car { void run(); void stop();}被装饰者QQ车的实现:package com.ites...原创 2019-04-17 22:13:26 · 133 阅读 · 0 评论 -
Ajax概述
Ajax:异步JavaScript和XML,是一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。(传统的网页,即不使用Ajax技术,如果需要更新内容,必须重载整个网页页面。)传统技术,同步:使用Ajax后,异步:Ajax-api详解常用属性:onreadyst...原创 2019-04-27 17:25:55 · 241 阅读 · 0 评论 -
XML的约束
XML可扩展的标签语言,用来存储数据(配置文件)。书写规范:区分大小写。应该有一个根标签。标签必须关闭。<XX> </XX><XX/>属性必须用引号引起来。<XX att="value"/>标签体中的空格、换行或制表符等内容都是作为数据内容存在的。<XX>aa</XX><XX>...原创 2019-04-23 15:11:39 · 153 阅读 · 0 评论 -
Java回调函数
序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按照由浅到深的顺序描述,如有不妥之处,望不吝赐教!开始之前,先想象一个场景...转载 2019-04-28 15:51:56 · 153 阅读 · 0 评论 -
serlvet总结
serlvet的体系结构:Servlet:接口 —— GenericServlet:抽象类 —— HttpServlet:抽象类 —— 自定义servletservlet常用方法:void init(ServletConfig config):初始化void service(ServletRequest request, ServletResponse response):服务...原创 2019-04-24 11:27:17 · 150 阅读 · 0 评论 -
部署描述符(web.xml文件)
Spring MVC中自带一个开箱即用的Dispatcher Servlet,该Servlet的全名是org.springframework.web.servlet.DispatcherServlet。要使用这个servlet,需要在部署描述符(web.xml文件)中使用servlet和servlet-mapping元素来配置它,如下所示:<?xml version="1.0" encod...原创 2019-07-05 11:28:52 · 376 阅读 · 0 评论 -
依赖注入
依赖注入技术作为代码可测试性的一个解决方案已经被广泛应用,那么,什么是依赖注入技术?简单来说,依赖注入的情况如下:有两个组件A和B,A依赖于B。假定A是一个类,且A有一个方法importantMethod用到了B,如下:public class A{ public void importantMethod(){ B b = ... //获得一个B类的对象b ...原创 2019-07-05 21:53:04 · 185 阅读 · 0 评论 -
普通Socket的用法
Java中的网络通信是通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务端,可以通过accept方法监听请求,监听到请求后返回Socket,Socket用于具体完成数据传输,客户端直接使用Socket发起请求并传输数据。ServerSocket代码:package com.Newtest;import java.io.Bu...原创 2019-07-01 11:21:18 · 143 阅读 · 0 评论 -
IDEA快捷键
使用须知:使用快捷键时注意,被其他软件的全局快捷键占用,如输入法,音乐播放器, 笔记等,可取消他们的快捷键。《显示》中快捷键可能和其他标题下重复,因为显示后就是为了进行其他操作。...原创 2019-07-31 14:38:33 · 281 阅读 · 0 评论 -
Java中数据库连接池(数据源)操作
使用jdbc时,每操作一次都需要获取连接,用完后便将其释放、销毁。选择利用连接池来优化curd操作。连接池:管理数据库的连接,提高项目的性能。作用:在连接池初始化的时候存入一定数量的连接,用的时候通过方法获取,不用的时候归还即可。接口:所有的连接池必须实现 javax.sql.DataSource 接口。...原创 2019-04-17 11:43:23 · 628 阅读 · 0 评论