java
文章平均质量分 82
还在路上的小码农
这个作者很懒,什么都没留下…
展开
-
抖音 -抖店开放平台 SDK 实现及项目工程
抖音 - 抖店开放平台 SDK抖音 - 抖店开放平台:https://op.jinritemai.com/该 SDK 已实现 API 接口调用和消息推送验证解析项目地址github: https://github.com/Chengqb/doudian-opengitee: https://gitee.com/chengqb/doudian-open项目结构common-rocketmq: 根据 阿里 com.aliyun.openservices 的 ons-client 第三方依赖,自定原创 2021-09-01 17:28:48 · 10100 阅读 · 2 评论 -
类的加载机制、bean的生命周期、servlet的生命周期
1、类的加载机制 1)类加载的触发情况 (1)调用 new 方法 (2)调用 loadclass 方法、forname 方法 (3)访问静态变量或者为静态变量赋值 (4)调用静态方法 (5)通过反射进行创建类的实例 (6)创建其子类的实例 2)类的加载顺序:验证、准备、解析并称为链接;准备步骤有可能在初始化之后(动态绑定机制) (1)加载:java类加载器通过 完全限定名 的方式查找到对应的在字节码文件( java 编译器编译原创 2020-11-30 16:06:29 · 451 阅读 · 0 评论 -
面试中部分RabbitMQ问题
rabbitMQ问题1:为什么要使用rabbitMQ? 1、任务异步处理(不重要并且耗时长的操作,需要异步处理) 2、应用程序解耦合 3、削峰填谷(对并发量而言,如数据库并发量)rabbitMQ问题2:rabbitMQ的使用场景? 用户注册时,短信提醒; 用户下单快超时,邮件提醒; 用户确认评价功能,后续需添加赠送积分功能; 金牛的下单计算佣金rabbitMQ问题3:rabbitMQ的实现方式? AMQP: 一种链接协议 JMS: JavaMes原创 2020-11-25 16:33:11 · 270 阅读 · 0 评论 -
面试中部分redis问题
redis问题1:redis应用场景?string类型: 金牛中会有一些新手教程文章等,需计算阅读量,使用string类型;token、验证码;incr指令的原子性hash类型: 恒鲜生中会有购物车的需求,就是依靠hash类型实现的,hash类型存储对象list类型: 金牛中商品列表、文章列表等,利用lrange很方便实现数据量大的分页,任务队列(确保先后顺序)set类型: 共同关注,共同好友等,利用set类型中的交集处理zset类型: 金牛中的排行榜小程序、订单超时处理;利用了zset的分值进行原创 2020-11-19 16:45:22 · 178 阅读 · 0 评论 -
java 内存模型JMM解析
java 内存模型JMM解析一、CPU多核并发缓存架构解析 1、以往的内存读取 2、后来的内存读取二、java内存模型实现原理三、深入理解volatile关键字四、并发编程的可见性、原子性和有序性一、CPU多核并发缓存架构解析 1、以往的内存读取读取读取主内存数据存储于硬盘CPU 存在的问题就是,主内存的运行速度严重限制了CPU的效率 2、后来的内存读取读取读取...原创 2020-04-09 14:51:39 · 574 阅读 · 0 评论 -
JVM指令手册
JVM指令手册一、栈和局部变量操作1、将常量压入栈的指令2、从栈中的局部变量中装载值的指令3、将栈中的值存入局部变量的指令4、通用(无类型)栈操作5、类型转换6、整数运算二、逻辑运算1、移位操作2、按位布尔运算3、浮点运算三、对象和数组1、对象操作指令2、数组操作指令四、控制流1、条件分支指令2、比较指令3、无条件转移指令4、表跳转指令五、异常六、方法调用与返回1、方法调用指令2、方法返回指令3、...转载 2020-04-03 14:49:18 · 765 阅读 · 0 评论 -
SpringCloud快速入门及其部分组件
SpringCloud快速入门及其部分组件一、SpringCloud大致图解二、GateWay网关二、Eureka注册中心三、Ribbon负载均衡四、Hystrix熔断器五、OpenFeign六、Config配置中心七、Bus消息总线一、SpringCloud大致图解二、GateWay网关 1)核心:一系列过滤器 2)核心功能:过滤、路由 3)核心概念: 4)代码实...原创 2020-03-26 11:51:35 · 343 阅读 · 0 评论 -
pom.xml文件中nonFilteredFileExtension标签
maven打包项目的时候pom.xml配置文件里可以配置对项目进行统一编码,但是部分文件 可能不需要进行重新编码,例如: 证书文件;重新编码后可能导致证书不可用。 需要过滤掉不需要编码的文件:过滤后缀为.crt或者.p8的所有文件,不对其进行统一编码。 <nonFilteredFileExtensions> <nonFilteredFileExtensi...原创 2019-05-17 11:18:17 · 14777 阅读 · 1 评论 -
SpringBoot整合Mybatis将查询语句打印至控制台
原创 2019-05-17 11:23:50 · 841 阅读 · 0 评论 -
VO、DTO、DO、PO
原创 2019-05-18 08:22:25 · 4168 阅读 · 0 评论 -
@RequestBody的使用
原创 2019-05-18 08:26:29 · 539 阅读 · 0 评论 -
SpringBoot的定时器
SpringBoot的定时器目录 1、SpringBoot使用@Scheduled定时器任务(开启定时器任务) 2、定时任务具体实现类(例子) 3、@Scheduled参数描述 4、cron规则注意: 需要在定时任务的类上加上注释:@Component,在具体的定时任务方法上加上注释@Scheduled即可启动该定时任务。 1、SpringBoot使用@Scheduled定...原创 2019-05-18 08:48:50 · 645 阅读 · 0 评论 -
更多开发小插件(小框架 / 架包)
更多开发小插件(小框架 / 架包)目录 1、actuator架包 2、quartz任务调度框架 3、MyBatis的pagehelper分页 1、actuator架包 详细教程 2、quartz任务调度框架 详细教程 3、MyBatis的pagehelper分页 详细教程...原创 2019-05-18 09:05:30 · 279 阅读 · 0 评论 -
多线程
多线程目录一、进程的概念二、线程的概念三、主线程的概念四、多线程的原理五、多线程原理的内存图解六、Thread类与Runnable接口的区别(就是Runnable的好处,推荐)七、并发与并行八、线程优先级(java当中的CPU执行是抢占式调度的)九、线程安全注意: 多线程创建的两种方法:Thread类、Runnable接口)一、进程的概念二、线程的概念三、主线程的概念四、多线程的原...原创 2019-05-18 09:16:04 · 218 阅读 · 0 评论 -
spring-data-mongodb的增删改查操作(MongoTemplate方式)
spring-data-mongodb的增删改查操作目录一、架包 1、所需架包 2、注入MongoTemplate 3、获取集合() 4、增加操作(插入) 5、删除操作 6、修改操作 7、查询操作一、架包 1、所需架包 <!-- spring整合MongoDB --> <dependency> <groupId>org...原创 2019-05-27 15:11:32 · 12915 阅读 · 4 评论 -
Java后端发起http请求第三方接口(路径)
package com.xxx.xxx.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;...原创 2019-05-28 21:16:22 · 14028 阅读 · 2 评论 -
java的继承性
1、概念2、继承中成员变量的访问特点3、子类中可通过super关键字获取父类的成员变量4、this与super两个关键字:this()与super()均是调用其构造方法5、this与super关键字的内存图6、java继承的三个特点...原创 2019-03-25 17:00:28 · 851 阅读 · 0 评论 -
java 限流器实现
java 限流器实现目录一、目的二、基本思路三、具体实现一、目的 并发问题处理:单位时间内请求次数过多,访问量较大时,报错提示用户。往往需要进行限流(每一秒限制请求几次)二、基本思路 使用 redis 缓存加 scheduler 定时器进行实现; 以每一小时为处理的时间单位,以每一秒为 job 的启动间隔; 在一小时内,为每一秒都分配一定的令牌数量(即限流的次数); ...原创 2019-09-21 14:09:32 · 4331 阅读 · 3 评论 -
scheduler 定时器注意事项
注意事项: scheduler 定时器只有在一个 job 运行完成之后,才开始计算下一个时间点 如:设置每 1 秒运行一次 job 而 job 使用了 Thread.sleep() 和 for 循环 3600 次,即每次 job 需运行 1 小时 此时,scheduler 定时器运行第一次 job ,会等到 1小时后 job 第一次运行完成后,才开始计算 ...原创 2019-09-21 11:59:19 · 453 阅读 · 0 评论 -
mongodb的分组求和(使用aggregate方法)
注意点: 1、要使用该管道方法,spring-data-mongodb 必须 是 1.10.10 版本以上 2、mongo数据库存储的是文档,就像java的.class文件;故而建议字段多单词时,使用驼峰命名 3、在此方法中,需特别注意的是字段映射问题,建议 java对象和mongo数据库 均 使用驼峰命名法(以避免映射问题) 结果如下:解读: ...原创 2019-07-25 08:47:47 · 21635 阅读 · 4 评论 -
个人笔记
个人笔记目录1、MyBatis的sql文2、开发逻辑3、对象4、接口文档1、MyBatis的sql文 (1)基础的4条 insert、update、get(单条)、delete,严格固定 是根据表主键id操作,同时是包含 所有字段 (包括创建者、创建时间、最后更新者、最后更新时间); (2)其次,一旦出现其他的sql语句,则用其他命名;2、开发逻辑 (1)MyBatis的 x...原创 2019-07-05 11:21:19 · 252 阅读 · 0 评论 -
枚举类型与自定义异常
枚举类型与自定义异常目录1、定义响应码与响应消息枚举型2、自定义异常(1)服务异常(2)业务异常3、自定义异常使用注: 个人认为一个项目中,最好有2个自定义异常;一个是 服务 异常,一个是 业务 异常1、定义响应码与响应消息枚举型 package com.xxx.xxx; /** * @Auther: Chengqb * @Date: 2019/6/27 8:40 */ ...原创 2019-06-27 09:07:56 · 2347 阅读 · 0 评论 -
MyBatis的xml文件中主键操作
<!-- 新增 --> <insert id="insert" parameterType="com.xxx.xxx.MiniPollingImage" useGeneratedKeys="true" keyProperty="id"> <selectKey keyColumn="id" keyProperty="id" resultType...原创 2019-06-03 17:50:10 · 3593 阅读 · 0 评论 -
Java获取openid、session_key以及解密用户私密数据(UnionId或手机号)
Java获取openid、session_key以及解密用户私密数据目录1、引入依赖包2、创建工具类(2个:HTTP请求工具类与解密工具类)3、获取openid和session_key(后端)4、解密(后端)1、引入依赖包 在开始解密之前,需先引入org.bouncycastle:bcprov-jdk16-1.46.jar (1)直接下载 jar包,放入 本机 jre/lib/e...原创 2019-05-29 14:31:42 · 9729 阅读 · 3 评论 -
AOP编程(面向切面编程)
AOP编程(面向切面编程)目录一、类与切面的比较二、AOP编程的相关概念三、AOP编程的五种增强通知四、AOP编程的使用 详细讲解一、类与切面的比较 1、面向对象编程(OOP):操作对象即为类; 面向切面编程(AOP):操作对象即为切面。 类是纵向的,而切面是横向的。 当多个类中有相同部分并需要对该部分操作时;如果是面向对象编程,则需要获取所有类,进而获取部分进行操作...原创 2019-05-17 11:07:41 · 412 阅读 · 0 评论 -
jwt(json web token)
jwt(json web token)目录一、组成(三部分) 1、头部(header) 2、载荷(payload) 3、签证(signature)二、加密(sign)与解密(verify) Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点...原创 2019-05-17 10:52:51 · 440 阅读 · 0 评论 -
java内部类(成员内部类、局部内部类(包含匿名内部类))
1、内部类的概念与分类概念: 一个事物内部包含另一个事物,如:汽车里面包含发动机; 一个类内部包含另一个类,另一个类就是内部类,如:发动机分为两种: 一个是 成员内部类 ,一个是 局部内部类(包含匿名内部类)2、成员内部类的定义及使用定义:修饰符 class 外部类名称 { ... 修饰符 class 成员内部类名称 { ... }}使用方法: 简接调...原创 2019-03-27 10:03:13 · 439 阅读 · 0 评论 -
java四个权限修饰符
注意: default是指不写,而不是写了 “ default ”publicprotecteddefaultprivate同类yesyesyesyes同包yesyesyes不同包子类yesyes不同包非子类yes...原创 2019-03-26 13:37:34 · 421 阅读 · 2 评论 -
java的多态入门
1、多态性的概念注: 继承(extends)和实现(implements)都是多态的 前提2、对象的向上转型和向下转型注意: 可以利用 instanceof 判断类型 格式:对象名称 instanceof 类型名称 -----返回 boolean 类型3、多态性的格式与使用注: 重写(Override)和重载(Overload)也是多态的 表现 (1)、格...原创 2019-03-26 12:01:37 · 154 阅读 · 1 评论 -
抽象类与接口
注: 抽象类与普通类的唯一区别就是 不能创建实例对象 和 允许有abstract方法 1、接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承具体类;抽象类中可以有静态的main方法。2、接口与抽象类的相同点: (1)、两者都不能直接实例化对象 (2)、两者的子类(实现类)都是要么覆盖重写所有抽象方法,要么就是抽象类 (3)、两者都 不能直接用fina...原创 2019-03-26 11:19:39 · 143 阅读 · 0 评论 -
java的接口
1、接口的概念 接口是多个类的公共规范; 接口是一种引用数据类型,最重要的内容就是接口当中的 抽象方法。2、接口的定义格式public interface 接口名称{ 接口内容(即各种方法)} 注意: 接口定义的关键字是interface,但是在程序编译时一样是由.java文件编译为.class文件3、接口所能拥有的方法类型 此点需结合java版本进行理解,主要分为j...原创 2019-03-26 09:54:49 · 394 阅读 · 0 评论 -
java的抽象类注意事项
1、抽象类不能直接创建对象,只能创建其非抽象类子类的对象;否则将报错。2、抽象类中可以有构造方法,以供其子类在继承时隐式或显示调用【super()】。3、抽象类中不一定包含抽象方法(也可以为空),但是 有抽象方法的的类 一定是抽象类。4、抽象类的子类:若也是抽象子类,可以不全部重写父抽象类的方法; 但是 若是普通子类,则 一定 要重写父抽象类的 所有 方法。...原创 2019-03-25 18:01:21 · 338 阅读 · 0 评论 -
java中的static关键字
1、概念理解2、静态数据与方法的使用 调用: 类:3、静态数据与方法的内存图(注意与对象内存图进行比较)4、静态代码块 用来一次性的对静态成员变量进行赋值...原创 2019-03-25 16:51:17 · 109 阅读 · 0 评论 -
java数组注意事项
1、数组空指针异常:数组也是引用类型2、数组必须要new才能使用数组的元素,单纯的赋值为null,则会报空指针异常3、数组长度不可变4、数组、对象等引用类型在作为方法参数或者返回值时,是传递地址值,并不是数据值...原创 2019-03-25 10:12:11 · 789 阅读 · 0 评论 -
java的内存
1、分为5部分:方法是在栈当中运行的 (1)、栈(Stack):存放方法中的局部变量,一旦超出作用域,栈中的局部变量就会消失 (2)、堆(Heap):存放new出来的东西,堆中的东西都有一个16进制的地址值。 (3)、方法区(Method Area):存放.class的相关信息,包括方法的信息(死信息)。 (4)、本地方法栈(Native Method Stack):与操作系统相...原创 2019-03-25 10:01:07 · 159 阅读 · 0 评论 -
String字符串
1、字符串的特点 (1)、是一种常量,一旦创建就不可以修改。 (2)、因为字符串不可变,所以可以作为共享使用。 (3)、效果上是char[]数组,但底层却是byte[] 数组。2、字符串常量池3、字符串比较(equals与equalsIgnoreCase) (1)、equals:区分大小写 (2)、equalsIgnoreCase:不区分英文字母大小写4、split(S...原创 2019-03-25 09:54:47 · 144 阅读 · 0 评论 -
Java的基础知识(注意事项)
一、JDK安装:安装路径建议不要有中文和空格二、字符:必须要 有且仅有一个符号三、null常量:不能直接打印输出,即不能System.out.println(null);四、基础数据类型:四类八种 1、整数型(默认是int) (1)、byte(1个字节)、short(2个字节)、int(4个字节)、long(8个字节), (2)、定义其他类型时,如:314L 2、浮点...原创 2019-03-25 09:45:22 · 249 阅读 · 0 评论 -
String类、StringBuffer类以及StringBuilder类
1、String类与StringBuilder类(1)、String类的底层是byte数组,但是却 被 final 修饰;故而String类型是常量,不可变 StringBuilder类的底层也是byte数组,但是却 没被 final 修饰,所以StringBuilder类型是变量,可改变(2)、String类没有缓冲区概念,所以字符串的操作效率较低 StringBui...原创 2019-03-27 11:58:30 · 210 阅读 · 0 评论 -
Collection集合及其相关知识点
1、集合架构2、Collection集合均可用迭代器遍历(只能遍历,不能增删)(1)、迭代的概念 Collection集合元素通用的获取方法:在获取元素之前, 先判断 集合中有没有元素;如果有,就将这个元素 取出来 , 再继续判断 ,如果还有,就继续取出来、再判断;一直到集合中的所有元素都 全部取出来 。这种方式就是迭代(2)、Iterator迭代器的使用注意: Iterator接口...原创 2019-03-28 13:42:34 · 495 阅读 · 0 评论 -
jxl与poi操作(excel、word、ppt)
jxl与poi操作(execl、word、ppt)目录1、两者的区别2、Workbook(Excl工作簿)操作1、两者的区别 (1)jxl只能对excel进行操作,属于比较老的框架,它只支持到excel 95-2000的版本。现在已经停止更新和维护。 (2)poi是apache的项目,可对微软的word,excel,ppt进行操作,包括office2003和2007,excl2003...原创 2019-05-17 10:46:10 · 855 阅读 · 0 评论