- 博客(42)
- 资源 (10)
- 收藏
- 关注
原创 装饰器设计模式-代码演示demo
代码演示:demo1:模拟扩音器,放大声音model实体:package com.charis.io.model;/** * 声音 实体类 * @author Charis */public class Voice { // 声音大小 private Integer size; public Voice(Integer size) { this.size = size; } public Integer getSize() {
2020-07-30 22:04:54
361
原创 状态码的介绍
常见返回状态码信息200:成功(服务器成功处理了请求)400:错误的请求(服务器不理解的请求,字段缺失或者格式错误)401:未经授权(请求要求身份验证,代理的安全策略失败,端到端信任令牌丢失或者无效)403:禁止(身份验证失败,服务器拒绝请求)405:不允许的方法(请求的资源不允许使用指定的方法)406:不可接受(请求标头中的内容不可接受,资源期望的是JSON,但消费者发送了XML)409:冲突(业务异常,正确的错误代码将被返回,与一些已经确立的规则相冲突,如无效的请求字段格式,请求中缺少必填
2020-05-21 22:38:21
449
原创 git代码拉取命令
1、配置姓名和账号git config user.name “45095826”git config user.email “charis.q.p.chen_sp@n.com”2、生成ssh钥匙ssh-keygen -t rsa -C “charis.q.p.chen_sp@n.com”查看.sshcat ~/.ssh/id_rsa.pub3、克隆代码下来git clon...
2020-01-20 15:43:01
9396
原创 spring分析一
案例代码如下:pom文件:<!--配置依赖--> <dependencies> <!--spring ioc 依赖--> <dependency> <groupId>org.springframework</groupId> <...
2020-01-09 12:32:06
199
原创 并发编程和J.U.C并发包
1、J.U.C并发包概述(1)j.u.c是JDK的核心工具包,是JDK1.5之后,由 Doug Lea(撰写)实现并引入。整个java.util.concurrent包,按照功能可以大致划分如下:juc-locks 锁框架juc-atomic 原子类框架juc-sync 同步器框架、工具类juc-collections 集合框架juc-executors 执行器框架2、并发编程...
2019-12-21 23:21:15
258
原创 冒泡排序
public class BubbleSort { public static void main(String[] args) { int[] arr = new int[] {55, 22, 99, 88}; /** 1.外部循环要控制找几轮 */ for(int i = 0 ; i < arr.length - 1 ; i++ )...
2019-12-14 19:17:41
108
原创 代码生成器 工具类
import com.platform.entity.ColumnEntity;import com.platform.entity.TableEntity;import org.apache.commons.configuration.Configuration;import org.apache.commons.configuration.ConfigurationException;...
2019-12-11 15:15:11
317
原创 mybatis分析
1、开发方式(1)传统的mybatis提供的api(2)mapper接口代理开发2、运行流程(1)加载配置文件:1.1、主配置文件:sqlMapConfig.xml。主配置文件用于配置框架的运行时环境(连接数据库)1.2、sql语句映射文件:AccDao.xml、mapper.xml。sql语句映射文件用于描述要执行的数据库操作(2)读取解析配置文件内容:2.1、将配置文件内容,封...
2019-12-01 13:07:51
259
原创 斗地主集合代码示例
public static void main(String[] args) { /** (1)定义一个集合存储54张牌。 做牌。 */ List<Card> cards = new ArrayList<>(); // 定义点数:点数个数确定,类型确定了,应该用数组定义 String[] sizes = {"3...
2019-11-28 21:01:49
340
原创 JAVA中集合及遍历
常见集合:1、Collection接口:两个子接口Set:无重复、无索引、无序HashSet、LinkedSet(有序)、TreeSetlist:重复、有索引、有序ArrayLsit、linkedList、Stack、Vector2、Map接口:HashMap、HsahTable、ConcurrentHashMap、TreeMapMap的遍历:1、迭代器: public sta...
2019-11-18 23:09:30
176
原创 dubbo和zookeeper挂掉
dubbo:远程调用其他服务的框架,分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案zookeeper(注册中心):基于服务的同步协调管理,配置的维护、域名服务、分布式同步等。恢复模式:集群下会恢复崩溃的注册中心数据。广播模式:通过心跳同步其它服务。单机:1、当注册中心(zk)挂掉后,之前的服务提供者和消费者都能正常使用,接口能正常访问,是通...
2019-11-15 23:28:50
1487
原创 java中数据结构
什么是数据结构?1、数据结构指的是数据以什么方式组织在一起2、不同的数据结构,增删查的性能是不一样的3、不同的集合底层会采用不同的数据结构,要知道集合的底层是基于哪种数据结构存储和操作数据的常见的数据结构1、队列(queue)先进先出,后进后出。场景:各种排队。叫号系统有很多集合可以实现队列。2、栈(stack)后进先出,先进后出压栈 == 入栈弹栈 == 出栈场景:手枪...
2019-11-13 20:53:28
175
原创 mysql语句书写
1、sql语句书写顺序select===>from===>where===>group by===>having===>order by2、sql语句解析顺序from===>where===>group by===> having===>select===>order by3、数据操作语言 (DML) 和 数据定义语言 (DD...
2019-11-12 12:13:39
258
原创 搜索高亮显示工具类
import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.search.SearchHit;import org.elasticsearch.search.SearchHits;import org.elasticsearch.search.fetch.subphase.highlight.H...
2019-11-12 11:20:42
311
原创 网络编程
1、网络端口的三要素:协议: 数据的传输格式 HTTP、FTPIP地址: 网络设备中的计算机编号,通过IP找到对应的设备端口: 进程的唯一标识,可以通过端口号找到对应的程序2、UDP协议和TCP协议各自的特点。UDP协议特点: 面向无连接的协议。 只管发送,不确认对方是否接收到。 基于数据包传输数据:将数据及源和目的封装成数据包中进行发送 每个数据包的大小限制在64K之内。 ...
2019-11-09 22:23:12
128
原创 用户认证授权微服务搭建代码
授权中心的主要职责:用户登录鉴权:接收用户的登录请求,通过用户中心的接口校验用户名密码使用私钥生成JWT并返回用户登录状态校验判断用户是否登录,其实就是token的校验用户登出用户选择退出登录后,要让token失效用户登录状态刷新用户登录一段时间后,JWT可能过期,需要刷新有效期流程图:JWT授权、身份认证和RSA非对称加密 工具类 地址:h...
2019-11-06 17:58:02
280
原创 短信服务的搭建代码
短信服务模块:pom <artifactId>ly-sms</artifactId> <dependencies> <!--springboot的web的支持--> <dependency> <groupId>org.springframework.bo...
2019-11-06 17:28:41
743
原创 购物车分析及搭建微服务
未登录购物车用户如果未登录,将数据保存在服务端存在一些问题:无法确定用户身份,需要借助与客户端存储识别身份服务端数据存储压力增加,而且可能是无效数据那么我们应该用把数据保存在客户端,这样每个用户保存自己的数据,就不存在身份识别的问题了,而且也解决了服务端数据存储压力问题。已登录购物车用户登录时,数据保存在哪里?首先想到的应该是数据库,不过购物车数据比较特殊,读和写都比较频...
2019-11-06 16:39:26
716
原创 springcloudconfig和springcloudBus
bootstrap.yml 配置先于 application.yml 加载1、springcloudconfig配置中心:application.yml配置:server: port: 12000spring: application: name: config-service cloud: config: server: git:...
2019-11-05 15:17:17
381
原创 spring基本介绍
一、spring框架的优点:1、轻量:基础版本只有2MB2、控制反转:通过控制反转,实现松散耦合,对象们给出他们的依赖,而不是通过创建或查找对象的依赖3、面向切面编程:通过面向切面编程,实现业务逻辑和系统服务分开,支持面向切面编程4、AOP事务管理:spring提供事务管理接口,实现本地事务和全局事务的管理5、exception异常处理:提供异常处理接口,把hibernate或者jdbc...
2019-11-04 00:16:59
506
原创 JWT授权、身份认证和RSA非对称加密 工具类
JWT 密钥的解析和加密 工具类import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jws;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.SignatureAlgorithm;import org.joda.time.DateTime;import java.security...
2019-11-02 22:41:40
1075
2
原创 utils基本工具
集合数据转换工具类:import lombok.extern.slf4j.Slf4j;import org.springframework.beans.BeanUtils;import java.util.List;import java.util.Set;import java.util.stream.Collectors;/** * 转换集合数据工具类 */@Slf4j...
2019-11-02 22:31:59
11056
原创 无状态登录原理及加密
登录状态介绍:1、有状态登录有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺...
2019-11-02 22:11:32
412
原创 hashMap和线程安全
hashmap是一个key-value键值对的数据结构:1、从结构上来讲在jdk1.8之前是用数组加链表的方式实现,jdk1.8加了红黑树;2、hashmap数组的默认初始长度是16;3、hashmap数组只允许一个key为null,允许多个value为nullhashmap的内部实现:hashmap是使用数组+链表+红黑树的形式实现的:1、其中数组是一个一个Node[]数组,我们叫他...
2019-11-01 15:00:06
332
原创 rabbitMQ介绍及配置
常见MQ产品ActiveMQ:基于JMS, ApacheRabbitMQ:基于AMQP协议,erlang语言开发(c语言开发的),稳定性好RocketMQ:基于JMS,阿里巴巴产品,目前交由Apache基金会Kafka:分布式消息系统,高吞吐量MQ是消息通信的模型,并发具体实现。现在实现MQ的有两种主流方式:AMQP、JMS。两者间的区别和联系:JMS定义了统一的接口,来对消...
2019-10-31 17:29:25
417
原创 多线程小知识
线程包含的5种状态:创建,就绪,运行,阻塞,消亡1、new对象时,线程创建2、start()线程进入就绪状态3、当获得cpu执行权时,开始执行run方法4、遇到 wait,sleep时,进入阻塞状态5、run方法执行完毕,线程进入死亡状态Servlet生命周期分成3个阶段:1、加载并时例化:容器启动时,加载servlet 的class ,并new 出这个对象2,初始化阶段:调用i...
2019-10-30 11:05:25
341
原创 Thymeleaf页面静态化
思路1:优点:页面加载快,异步处理,用户体验好缺点:会向服务端发起多次数据请求,增加服务端压力思路2:优点:服务端处理页面后返回,用户拿到是最终页面,不会再次向服务端发起数据请求。缺点:在服务端处理页面,服务端压力过大,tomcat并发能力差对于大型电商网站而言,必须要考虑的就是服务的高并发问题,因此要尽可能减少服务端压力,提高服务响应速度,所以这里两个方案都不会用,采用方案3...
2019-10-29 10:45:41
686
原创 sql 查询语句的优化 mybatis的性能优化 概念
sql 语句中关于查询语句的优化1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描4、尽量避免在 where 子句...
2019-10-27 18:56:17
817
1
原创 zookeeper和并发概念
1、高并发问题是怎么解决的1、 数据层a、集群b、分表分库c、 开启索引d、 开启缓存e、 表设计优化f、Sql语句优化g、 缓存服务器(提高查询效率,减轻数据库压力)h、 搜索服务器(提高查询效率,减轻数据库压力)2、 项目层a、采用面向服务分布式架构(分担服务器压力,提高并发能力)b、采用并发访问较高的详情系统采用静态页面c、使用页面缓存d、 用 ActiveM...
2019-10-27 10:27:56
1274
原创 门户热部署live-server
没有webpack,我们就无法使用webpack-dev-server运行这个项目,实现热部署。使用另外一种热部署方式:live-server,这是一款带有热加载功能的小型开发服务器。用它来展示你的HTML / JavaScript / CSS,但不能用于部署最终的网站地址:https://www.npmjs.com/package/live-server1、安装,使用npm命令即可,这里建...
2019-10-25 16:44:38
352
原创 富文本编辑器
富文本编辑器有很多,例如:KindEditor、Ueditor。但并不原生支持vue,一款支持Vue的富文本编辑器:vue-quill-editorGitHub的主页:https://github.com/surmon-china/vue-quill-editorVue-Quill-Editor是一个基于Quill的富文本编辑器:Quill的官网第一步:安装,使用npm命令:npm in...
2019-10-25 16:21:03
268
原创 mysql中sql表的基本操作
约束建库:create database day15;use day15;-- 创建学生表st3, 包含字段(id, name),name这一列设置唯一约束,不能出现同名的学生create table st3 ( id int, name varchar(20) unique);desc st3;-- 添加一个同名的学生select * from st3;ins...
2019-10-24 09:59:36
236
原创 mysql中基本sql语句操作
建数据库:-- 创建数据库db1 (选中要执行的SQL语句,如果没有选中运行所有的SQL语句)create database db1;-- 判断是否存在,如果不存在则创建数据库db2create database if not exists db2;-- 创建数据库并指定字符集为gbk,如果没有指定默认是utf-8,在安装的时候已经指定。按tab自动补全create databa...
2019-10-24 09:52:42
284
原创 通用属性SPU和SKU
SPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品...
2019-10-23 16:15:05
1014
原创 mybatis逆向生成sql语句和配置domain,dao接口和mapper映射文件
配置文件:jdbc.propertiesjdbc.path=D:\\maven\\repository\\mysql\\mysql-connector-java\\5.1.30\\mysql-connector-java-5.1.30.jarjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/expor...
2019-10-22 12:13:13
371
原创 微服务跨域问题和过滤器代码
问题的出现:两个域名不同(端口不同)之间,发送ajax异步请求,浏览器认为这是危险的,从而有了跨域问题目前比较常用的跨域解决方案有3种:Jsonp最早的解决方案,利用script标签可以跨域的原理实现。限制:需要服务的支持只能发起GET请求nginx反向代理思路是:利用nginx反向代理把跨域为不跨域,支持各种请求方式缺点:需要在nginx进行额外配置,语义不清晰...
2019-10-19 19:41:08
217
原创 nginx域名访问的说明
域名解析问题域名访问,先从浏览器缓存中解析,然后从本地host文件解析,最后去万网解析域名。本地host文件路径:C:\Windows\System32\drivers\etcnginx解决端口问题反向代理负载均衡动态路由请求过滤nginx作为web服务器Web服务器分2类:web应用服务器,如:tomcat(并发在200)resinjettyList item...
2019-10-19 15:31:39
645
原创 springboot开发异常处理
提供一个自定义异常对象/** * 自定义异常对象,定义异常状态码 */@Getter // get方法public class LyException extends RuntimeException{ private Integer status; /** * 自己定义的异常信息状态 * @param status * @param me...
2019-10-19 13:50:15
130
原创 linux常用命令
重启防火墙systemctl restart firewalld关闭防火墙systemctl tosp firewalld一、文件和文件夹操作1.切换路径:cd + 路径如:cd /home"."代码当前路径"…"代表上一层路径如cd … 表示调回上一层目录查看当前的工作路径:pwd2.新建文件夹(make directory)mkdir + 文件夹名如mkdir aa...
2019-10-18 00:06:10
114
原创 电商常用技术概述及原理
电商行业的一些常见模式:B2C:商家对个人,如:亚马逊、当当等C2C平台:个人对个人,如:闲鱼、拍拍网、ebayB2B平台【B2B2B】:商家对商家,如:阿里巴巴、八方资源网等(平台商,生成商,消费商家)O2O:线上和线下结合,如:饿了么、电影票、团购等P2P:在线金融,贷款,如:网贷之家、人人聚财等。B2C平台【B2B2C】:天猫、京东、一号店等(平台商,商家,个人)技术特点:...
2019-10-17 23:51:12
3867
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人