自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 负载均衡和集群思考

一、什么是负载均衡?负载均衡用来解决一个单台服务器的压力,简单来讲负载均衡:服务器A,比如做了Nginx处理,通过服务器A端口88均衡转发(请求)服务器b、和服务器c,这是负载均衡,其中服务器A是负载集群:同一个工程部署在不同服务器的称为集群,两个及以上的就是集群,服务器b和服务器c合并称为集群负载均衡的前提是集群。集群的情况下有很多问题产生:1.session共享2.分布式情况下定时JOB解决幂等性二、高并发解决方案高并发解决方案包括:负载均衡、集群、cdn、分

2021-01-17 11:07:56 173 1

原创 rerdis基本数据类型操作

五种基本数据类型:1.String创建和查找命令:set key value ,如:set String wsfget key,如:get String2.List类型创建和查找操作lpush key value,如:lpush List wsf,lpush List wsflrange key 0 10,如:lrange List 0 103.set类型要求元素值不能重复创建和查找sadd key value,如:sadd set wsfsmem

2020-09-06 21:53:04 297

原创 start.bat批处理文件

.bat结尾的是批处理文件,在使用redis在windows中启动时,可以这样配置,新建一个start.bat文件,里面放置需要启动 的文件

2020-09-06 20:16:46 3810

转载 阿里规约中只要重写 equals,就必须重写 hashCode的原因

参考:https://blog.csdn.net/qq_35868412/article/details/89380409

2020-05-10 22:03:19 287

转载 IDEA中某个类实现序列化后自动生成serialVersionUID

serialVersionUID的作用参考:https://blog.csdn.net/u014750606/article/details/80040130生成的方法;https://jingyan.baidu.com/article/f79b7cb3d19cc49144023ea6.html

2020-05-10 15:40:52 265

原创 spring boot 配置读哪个环境

比如有:dev、test、prod。application-dev.properties:开发环境application-test.properties:测试环境application-prod.properties:生产环境首先服务起来会读application.properties中的内容,如果有很多配置,可以在application.properties使用如下语句:sp...

2020-05-04 12:54:24 138

原创 spring boot操作多数据源分布式解决方案

操作多数据源不能回滚时,可以使用如下方案:1.springboot+jta+atomikos分布式事物管理2.两段提交协议3.MQ消息推送

2020-05-04 12:15:47 188

原创 Spring boot 动态模板静态化

渲染Web页面在之前的示例中,我们都是通过@RestController来处理请求,所以返回的内容为json对象。那么如果需要渲染html页面的时候,要如何实现呢?模板引擎在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。Spring Boot提供了默认配置的模板引擎主要有以下几...

2020-05-02 10:17:25 280

转载 数据库设计

参考:https://www.cnblogs.com/x_wukong/p/11059015.html一对多关系总结:多方的外键是一方的主键,原因:从left join的关联中可以看出,主键关联外键,可以查询出主键的唯一一条记录对应外键方的多条记录。也可以理解为主键方是唯一的,所以外键方是多方,在设计表结构时,多方表中存一方的主键作为外键。...

2020-04-20 22:48:09 119

原创 getter&setter

某个entity类中除了可以右键生成get和set方法外,还可以生成toString方法和构造函数。equals()and hashCode暂时没有用到过。

2020-03-27 10:26:36 100

原创 Spring基础

一、什么是Springspring是个容器,用于管理bean(实体类)与bean之间的关系。spring的核心是ioc(控制反转)、di(依赖注入)、aop(面向切面编程)。spring可以整合许多框架,比如:redis、mq、mongodb等。百度搜索关键词可以输入“spring集成redis”。二、项目中什么时候用单例?会发生什么问题?spring默认是单例的。会发生线程不安全...

2020-03-25 16:50:19 148

原创 http协议总结

什么是时间戳?时间戳作用:防止缓存,解决版本更新代码不同步的问题。如果不加时间戳,当http相应状态为304时,从本地缓存中读取资源,而没有请求到服务器。http状态304 表示从本地读取。...

2020-03-24 09:43:13 151

原创 cookie和session

一、应用场景登录、购物车、移动端APP接口会话管理二、cookie和session的区别cookie--服务器与客户端资源保存,保存在客户端;session--保存在服务器端,存放在内存里,客户端与服务器端进行通讯使用SessionId...

2020-03-16 15:52:00 135

转载 ngrok将本地服务映射出去

参考:https://blog.csdn.net/a5252145/article/details/84895271内网服务映射到外网的截图

2020-03-15 15:12:04 138

原创 web服务器

web服务器有哪些:Tomcat,weblogic等,特点如下。 WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。 WebSphere: IBM公司的产品。收费的。支持JavaEE规范 JBoss: Red...

2020-03-14 11:21:11 96

原创 TCP和UDP的区别

TCP面向连接,需要三次握手,效率低,但传输安全。udp面向无连接,传输效率高,但容易丢包,不安全。

2020-03-14 08:32:12 81

原创 StringBuffer和StringBuilder的区别

二者都可以用于拼接字符串区别:StringBuffer线程安全,StringBuilder不是线程安全 StringBuffer执行效率低,StringBuilder执行效率高 StringBuffer和StringBuilder类似于HashTable和HashMap...

2020-03-10 22:59:28 75

转载 spring全家桶

参考:https://www.cnblogs.com/ncwoniu/p/11498460.html

2020-03-10 14:35:14 101

转载 GC原理总结

一、为什么要了解GC?GC是java上JVM虚拟机的垃圾回收机制。合理使用,可以避免OOM(内存用完了)问题;可以进行jvm性能调优,提高程序执行效率、可靠性和健壮性。从以下几个方面进行分析:java堆内存结构 分代回收算法 垃圾回收机制 GC日志 jvm参数调优二、根据java堆内存结构进行分析java堆内存结构分为新生代、老生代和永久代(注:jdk1.8中为Metas...

2020-03-10 11:35:58 208

原创 idea中设置打印GC日志

首先需要进行VM options 配置:-XX:+PrintGCDetails运行测试时如下:由此可以知道jdk1.8中有新生代、老生代和Metaspace组成。

2020-03-10 10:57:37 490

转载 IDEA中Push rejected和解除git版本控制

删除git版本控制,需要删除对应的隐藏文件.git和对应的vcs.xml参考:https://blog.csdn.net/qq_38225558/article/details/86233910

2020-03-09 17:59:42 398

原创 java编程基础总结

需求:输入数字判断是否为快乐数,快乐数的定义:输入正整数,所有位数的平方和相加进行循环,是否为1,为1则为快乐数,不为1则为false如快乐数:19,1*1+9*9=82;8*8+2*2=68;6*6+8*8=100;1*1+0*0+0*0=11.输入数字2.判断是否为快乐数package test;import java.math.BigDecimal;import ja...

2020-03-09 10:54:10 192

转载 Redis的哨兵模式和集群模式

参考:https://www.cnblogs.com/mzhaox/p/11218096.htmlRedis的哨兵模式和集群模式都是为了实现高可用。哨兵模式解决了自动化的故障恢复,但无法进行写操作的负载均衡,存储能力受到单机的限制;集群模式解决了写操作无法负载均衡和存储能力受到单机的限制,实现了较为完善的高可用方案...

2020-03-08 12:18:37 459

原创 HashMap、HashTable、ArrayList、LinkedList总结

一、HashMap和HashTable的区别与联系HashMap继承AbstractMap类,而HsahTable继承Dictionary类 HashMap使用JDK1.2版本,HashTable使用JDK1.0版本 HashMap线程不安全,HashTable线程安全(由于方法上加了Synchronized关键字)HashMap的底层数据结构的数组+链表,逻辑结构图如下:紫色代...

2020-03-08 10:46:39 235

原创 设计模式总结

一、为什么用设计模式?使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。如代理模式可以请求打印日志信息,工厂模式可以负责初始化一些,观察者模式可以对事件的监听,单例模式,一定会手写单例策略设计模式二、设计模式分类设计模式总共23种,分为三类:1.创建型:共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2.结构型:共七种:适配器模式...

2020-03-07 10:07:04 120 1

转载 rpc和restful的区别

restful采用标准的数据格式,异构的客户端与服务器通信方便;RPC整个请求的方法对客户端不可见,异构的客户端与服务器通信比较难;

2020-03-06 09:40:45 305

原创 停止线程有三种方法

1.使用退出标志,比如while(!exit) ,使线程正常退出,也就是当run方法完成后线程终止。2.使用interrupt方法中断线程。 线程在阻塞状态3.不建议使用stop()线程分为两种:1.用户线程2.守护线程,用setDaemon(true)方法设置为守护线程...

2020-03-05 17:15:49 168

原创 synchronized和lock锁的总结

线程不安全的问题怎么解决?synchronized和lock都能解决线程不安全的问题一、synchronized三种同步方式:同步代码块(使用自定义明锁)、同步函数(使用this锁)、同步静态函数(使用字节码文件,即类.class)synchronized使用的有哪些关键字呢?wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线...

2020-03-05 16:23:33 184

原创 多线程通讯

使用标志位flag进行共享资源,避免读取数据的重复性。可以使用wait,即当前线程等待,类似于sleep,可以让当前线程处于休眠状态,和synchronized同时使用,注意wait可以释放锁,而sleep不能释放锁;wait必须和synchronized同时使用,配合 notify 进程状态的唤醒,标志位的切换,因为wait和notify都是在Object类中定义的。参考代码:...

2020-03-05 11:52:11 92

原创 多线程之间实现同步

一、什么是线程安全?多个线程共享一个全局变量或静态变量时,做写的操作可能会产生数据不一致,做读的操作不受影响。二、线程安全问题怎么解决?(使用同步或使用锁)1.使用synchronized 同步代码块, 1.1、synchronized关键字包括起来的代码每次只能让当前一个线程去执行synchronized(同一个数据){可能会发生线程冲突问题} ...

2020-03-03 19:36:20 141

转载 Eureka和ZooKeeper的区别

erreka保证可用性即ap,zookeeper保证数据一致性,即从cp参考:https://blog.csdn.net/java_xth/article/details/82621776

2020-03-03 14:31:50 94

转载 多线程与并发编程,包含JMM

单线程。cpu核心的缓存只被一个线程访问。缓存独占,不会出现访问冲突等问题。单核CPU,多线程。进程中的多个线程会同时访问进程中的共享数据,CPU将某块内存加载到缓存后,不同线程在访问相同的物理地址的时候,都会映射到相同的缓存位置,这样即使发生线程的切换,缓存仍然不会失效。但由于任何时刻只能有一个线程在执行,因此不会出现缓存访问冲突。多核CPU、多线程情况下存在缓存不一致的情况每...

2020-03-03 11:04:29 107

原创 多线程总结

一、基本认识同步(单任务执行):下一个任务必须等上一个任务执行完才执行异步(多任务执行):

2020-02-29 16:26:07 100

原创 通过自定义注解完成类似orm对象关系映射

代码有四个组成,分别为:main、userEntity、SetTable、SetPropertitypackage com.wang.annotation;import java.lang.annotation.Annotation;import java.lang.reflect.Field;/** * * @methodDesc: 功能描述:(使用java自定义注解,模...

2020-02-27 12:18:38 194

原创 内置注解与自定义注解

jdk1.5版本新增注解、泛型、并发包(并发编程)

2020-02-26 11:09:56 134

转载 spring ioc实现原理

主要过程也就是这样:

2020-02-23 21:36:29 82

原创 JAVA 反射机制

什么是反射?简言之就是把.class文件转换为java认识的形式,通过反射机制访问类的方法,属性,和构造函数。即 1,反编译:.class-->.java2.通过反射机制访问java对象的属性,方法,构造方法等;反射机制适应场景?创建一个对象可以通过new的形式,但有没有不通过new形式创建对象的呢?答案是反射机制,如jdbc连接数据库使用Class.forname(...

2020-02-23 17:10:55 69

原创 数据交换格式学习

json和xml的区别:

2020-02-22 16:10:44 85

原创 maven学习总结

maven package 编译并打包maven install 将jar包打到本地仓库,即下载到自己本机上的maven 仓库

2020-02-16 10:40:32 136 1

转载 讯飞tts文转语错误分析即解决方法

监听返回出现错误代码20021,解决办法:https://blog.csdn.net/qq_35170213/article/details/86155971

2020-02-11 21:36:02 4198

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除