自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西门飘雪的博客

专注Java后台开发

  • 博客(155)
  • 收藏
  • 关注

原创 升级node到指定版本

/设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.//设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/sudo n stable // 把当前系统的 Node 更新成最新的 “稳定版本”//在当前版本node环境下,重新全局安装指定版本号的npm包。// 设置默认 node 版本。//安装指定版本的node。

2024-03-23 16:43:00 587

原创 Mysql出现”Cannot proceed because system tables used by Event Scheduler were found damaged at server st

在用Navicat 导出mysql数据库的时候出现 “Cannot proceed because system tables used by Event Scheduler were found damaged at server start” . 怎么办呢?连接到Mysql. 打开 mysql库.执行查询.重启Mysql server。

2024-03-16 17:01:37 149

原创 【无标题】

笔者在学习Java开发时会Swing开发过客户端程序,整体感觉用Java开发客户端程序很麻烦,开发出来的东西也很丑。JxBrowser是一个Java类库,用于将谷歌Chromium浏览器组件集成到Java应用中,可以在JavaFX、Swing、SWT应用中展示Web页面和PDF文件。(3)将JxBrowser的Jar包(jxbrowser-6.21.jar、jxbrowser-win64-6.21.jar、license.jar)复制到。开发一个客户端程序,内嵌浏览器,能够访问Vue.js项目。

2023-06-03 13:58:22 304

原创 Mac安装Gradle以及配置本地仓储

这里以mac为例安装gradle,其实windows同理。

2023-01-09 21:40:39 1240

原创 Mac安装Homebrew的正确姿势

在此之前试过了好几种安装方法,比如下载一个 brew_install.rb的文件,然后执行命令ruby brew_install.rb,一开始行得通,但下载到中途就会报错,而且出错的方法不一,也尝试过好几种相应的解决方法,最终都夭折了,只有这个镜像安装才能成功,而且下载速度非常快。

2022-11-28 22:20:52 2342 1

原创 如何在MySQL中比较两个查询结果是否相等?

如何在MySQL中比较两个查询结果是否相等? - VoidCC

2022-11-21 11:57:32 1388

原创 必看,关于sql的慢查询及解决方案

SQL中,广义的查询就是crud操作,狭义的查询仅仅是select查询操作,慢查询就是指广义的查询,否则为什么不叫慢查询、慢更新、慢删除。慢查询就是那些执行慢的sql语句,包括crud,一般是查询,所以称为慢查询问题1:怎么一定一个sql语句是慢的?回答:根据实际需要,如果前端反馈,执行3s是慢的,就是在my.ini中(Windows是my.ini,Linux是my.conf)中设置long_query_time=3,表示操作3s的查询就是慢查询,要记录下来,好好分析。

2022-11-11 18:12:09 3504

原创 windows 10 安装docker

小伙伴们大家好,今儿和大家一起在windows10上安装docker。整个过程还是比较简单顺畅的。我们先来看一下安装需要哪些先决条件。

2022-11-08 00:26:59 6015 1

原创 Kafka常见的导致重复消费原因和解决方案

从顺序上来说,poll 方法的逻辑是先提交上一批消息的位移,再处理下一批消息,因此它能保证不出现消费丢失的情况。注:如果你想要消费者从头开始消费某个topic的全量数据,可以重新指定一个全新的group.id=new_group,然后指定auto-offset-reset=earliest即可。导致kafka的重复消费问题原因在于,已经消费了数据,但是offset没来得及提交(比如Kafka没有或者不知道该数据已经被消费)。上面代码会导致部分offset没提交,下次启动时会重复消费。

2022-09-29 12:56:11 8761

原创 MySQL 数据库如何存储时间

字符串占用的空间更大!字符串存储的日期比较效率比较低(逐个字符进行比对),无法用日期相关的 API 进行计算和比较。通常我们都会首选 TimestampDateTime 类型是没有时区信息的(时区无关)Timestamp 和时区有关。下面实际演示一下!建表 SQL 语句:插入数据:查看数据:结果:修改当前会话的时区:再次查看数据:扩展: 一些关于 MySQL 时区设置的一个常用 sql 命令2.2 DateTime 类型耗费空间更大Time

2022-06-19 22:41:55 2562

转载 由一次线上故障来理解下 TCP 三握、四挥 & Java 堆栈分析到源码的探秘

本文导读:生产故障场景介绍 TCP 建连三次握手过程 TCP 断连四次挥手过程 结合 Java 堆栈剖析源码 再从堆栈中找到"罪魁祸首" 问题优化方案总结1、生产故障场景介绍业务简介:该服务主要是提供对外的代理接口,大部分接口都会调用第三方接口,获取数据后做聚合处理后,提供给客户端使用。有一天晚上,系统正处于高峰期间,项目组小伙伴正在津津有味的吃着「加班餐」,刚把????塞进嘴里,邮件和短信同时发起来告警。有一台服务器接口超时,平时偶尔也会收到类似告警,有时会因为网络波动等原

2021-10-19 16:03:42 277

转载 java8 快速实现List转map 、分组、过滤等操作

利用java8新特性,可以用简洁高效的代码来实现一些数据处理。定义1个Apple对象:public class Apple { private Integer id; private String name; private BigDecimal money; private Integer num; public Apple(Integer id, String name, BigDecimal money, Integer num) {

2020-12-30 17:48:59 229

原创 微信红包随机算法

最近看了一篇文章,讲微信红包随机算法的。感觉很不错,所以自己实现了下,并进行了简单测试。算法算法很简单,不是提前算好,而是抢红包时计算:红包里的金额怎么算?为什么出现各个红包金额相差很大?答:随机,额度在0.01和剩余平均值*2之间。实现实现上述算法的逻辑主要是:public static double getRandomMoney(RedPackage _redPackage) { // remainSize 剩余的红包数量 // remainMoney 剩

2020-11-26 20:20:55 582

转载 redis实战系列-如何实现一个短链接服务

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转。新浪微博因为限制字数,所以也会经常见到这种看着不像网址的网址。短链的兴起应该就是微博限制字数激起了大家的创造力。如果创建一个短链系统,我们应该做什么呢?将长链接变为短链; 用户访问短链接,会跳转到正确的长链接上去。查找到对应的长网址,并跳转到对应的页面。短链生成方法#短码一般是由[a - z, A - Z, 0 - 9]这62 个字..

2020-11-13 13:59:18 568

转载 Reddit 如何实现大规模的帖子浏览计数

我们希望更好地将 Reddit 的规模传达给我们的用户。到目前为止,投票得分和评论数量是特定的帖子活动的主要指标。然而,Reddit 有许多访问者在没有投票或评论的情况下阅读内容。我们希望建立一个能够捕捉到帖子阅读数量的系统。然后将该数量展示给内容创建者和版主,以便他们更好地了解特定帖子上的活动。在这篇文章中,我们将讨论我们如何大规模地实现计数。计数方法对浏览计数有四个主要要求:计数必须是实时的或接近实时的。不是每天或每小时的总量。 每个用户在短时间内只能计数一次。 显示的数量与实际

2020-11-13 13:54:12 193

原创 java 8 对JSONArray 按指定字段排序,升序和倒序

以前在内存中用大数据量的排序不论使用冒泡排序还是使用Collections.sort效率都相当低下,现如今Java 8 出现了Comparator首先这并不是一个方法,而是一个接口@FunctionalInterfacepublic interface Comparator<T> {}在此不过多阐述它实现的原理,只在这里介绍它的两个实现方法/** * Accepts a function that extracts a {@link java.lang.Co...

2020-11-13 13:47:14 1238

转载 如何实现一个短链接服务

短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转。新浪微博因为限制字数,所以也会经常见到这种看着不像网址的网址。短链的兴起应该就是微博限制字数激起了大家的创造力。如果创建一个短链系统,我们应该做什么呢?将长链接变为短链; 用户访问短链接,会跳转到正确的长链接上去。查找到对应的长网址,并跳转到对应的页面。短链生成方法#短码一般是由[a - z, A - Z, 0 - 9]这62 个字..

2020-11-12 14:01:35 202

原创 克隆工具类--进行深克隆对象、集合

package com.JUtils.clone;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.util.Collection.

2020-11-01 16:34:13 205

转载 Java架构直通车——架构师所需要具备的技术栈与能力

文章目录架构师所需要的技术栈 架构师所需要的能力架构师所需要的技术栈首先,用户先通过前端来进行一个访问,这里前端可能用到了ios、android、H5和小程序等等。用户通过这些来发送请求,首先来到了我们的负载均衡。这里就是Nginx,由于Nginx也是服务器,也会宕机,所以这里会有主备多台Nginx,通过使用lvs+keep alive做了这样一个主备,保证了Nginx不会宕机,就算宕机了也会有备用机给替换掉。随后负载均衡器会把我们的请求处理后,发送到后面这一部分。这一块其实就.

2020-10-24 15:21:16 322 1

转载 Java架构直通车——大型网站的特点与设计宗旨

文章目录大型网站的9大特点 小结 总结大型网站的9大特点Hello,大家好,本节课我们一起来认知一下大型网站的特点。说到大型网站,很多人可能都会有一个误区,他们会认为:网站访问量大,那就是一个大型网站,其实这只说对了一半。为什么呢?给大家举个例子就明白了。比如:百度旗下的上网导航网站:hao123。这个网站的用户访问量是非常巨大的,那么它是一个大型网站吗?其实不是。为什么呢?类似hao123这样的网站,它们都是提供一个静态网页(可以通过模板技术生成静态页面),用户点击是跳转到其他.

2020-10-24 15:19:26 121

转载 Spring注解驱动开发(六)

[源码]-Spring容器创建-BeanFactory预准备Spring容器的refresh()【创建刷新】;1、prepareRefresh()刷新前的预处理; 1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法; 2)、getEnvironment().validateRequiredProperties();检验属性的合法等 3)、earlyApplicationEvents= new LinkedHashSet<Applicatio

2020-10-09 23:12:20 132

转载 Spring注解驱动开发(五)

声明式事务-环境搭建导入相关依赖:数据源、数据库驱动、Spring-jdbc模块 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId&gt

2020-10-09 23:06:14 150

转载 Spring注解驱动开发(四)

AOP-AOP功能测试AOP:【动态代理】能在程序运行期间动态的将某段代码片段切入到指定的方法指定位置进行运行的编程方式;1、导入aop模块,Spring AOP:(spring-aspects) 2、定义一个业务逻辑类(MathCalculator),在业务逻辑运行的时候将日志进行打印(方法之前、方法运行结束、包括方法出现异常等等) 3、定义一个日志切面类(LogAspects):切面类里面的方法需要动态感知MathCalculator.div运行到哪里了然后执行 切面类里面的方法就是通知

2020-10-09 23:02:43 251 1

转载 Spring注解驱动开发(三)

属性赋值-@Value赋值有一个Person类:public class Person { private String name; private Integer age; public Person() { } public Person(String name, Integer age) { this.name = name; this.age = age; } public String getN

2020-10-09 22:58:21 127

转载 Spring注解驱动开发(二)

组件注册-@Lazy-bean懒加载懒加载:是专门针对于单实例的bean的 单实例的bean:默认是在容器启动的时候创建对象; 懒加载:容器启动的时候,不创建对象,而是在第一次使用(获取)Bean的时候来创建对象,并进行初始化 当我们还没有配置懒加载的时候:作用域为单例的bean,默认是在容器启动的时候创建实例对象@Configurationpublic class MainConfig2 { /** * 懒加载:是专门针对于单实例的bean的 *

2020-10-09 22:50:45 178

转载 Spring注解驱动开发(一)

简介-注解驱动开发当我们还在使用Spring、SpringMVC、Mybatis三大框架来整合开发的时候,我们会写大量的xml文件来进行配置;然而在Springboot和SpringCloud兴起之后,学习Spring的注解驱动及其原理那将会是非常有必要的了;因为在Springboot和SpringCloud里面会使用到大量的注解来进行配置;当我们熟练掌握了Spring的注解驱动,那当我们在学习Springboot和SpringCloud框架的时候,那将会更加的轻松自如;让我们一起来开启Spring注解

2020-10-09 22:26:13 147

转载 Nginx优化之长连接/https/负载均衡

关于keepalive有时我们需要用到nginx的反向代理(比如:跨域),此时需要“长连接”!其注意事项有两点:从client到nginx的连接是长连接 从nginx到server的连接时长连接默认情况下,nginx已经开启了对client的keepalive支持,但一些场景下,仍然需要我们手动调整参数重写一下:http{ keepalive_timeout 超时值 响应header; keepalive_request 数量值;}代码中:超时值——keepaliv...

2020-10-05 19:50:29 1566

原创 简要说明什么是cdn?

什么是CDN?CDN加速意思就是在用户和我们的服务器之间加一个缓存机制,通过这个缓存机制动态获取IP地址根据地理位置,让用户到最近的服务器访问。那么CDN是个啥?全称Content Delivery Network即内容分发网络。CDN是一组分布在多个不同的地理位置的WEB服务器,用于更加有效的向用户发布内容,在优化性能时,会根据距离的远近来选择 。CDN系统能实时的根据网络流量和各节点的连接,负载状况及用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是使用户

2020-10-04 16:05:41 3053

原创 mybatis 中 if-test 判断大坑

【<if test="takeWay == '0'">】mybatis的if判断单个的字符要写到双引号里面才行,改为<if test='takeWay == "1"'>或者改为<if test="takeWay == '1'.toString() ">.xml文件的部分代码<insert id="insertDelivery" parameterType="com.zuci.request.DeliveryPreferenceReq"> ..

2020-09-21 14:32:01 763

转载 html标签的快捷录入方式

html标签的快捷录入方式一:<ul> <li><ahref=""></a></li></ul>如果要写上面的标签,直接写ul>li>a然后按Tap键盘,就可以快速构建二:<ul> <li><ahref=""></a></li> <li><ahref=""></a></...

2020-08-19 22:40:19 677

转载 使用Mapstruct来进行实体与模型之间的映射操作

在一个成熟可维护的工程中,细分模块后,domian工程最好不要被其他工程依赖,但是实体类一般存于domain之中,这样其他工程想获取实体类数据时就需要在各自工程写model,自定义model可以根据自身业务需要而并不需要映射整个实体属性。mapstruct这个插件就是用来处理domin实体类与model类的属性映射,定义mapper接口,mapstruct就会自动的帮我们实现这个映射接口,避免了麻烦复杂的映射实现。MapStruct官网:http://mapstruct.org...

2020-07-05 18:18:24 1056 1

转载 mysql中索引长度与区分度的选择

问题背景现在有这么一个需求,比如说商品表中的商品名称和商品描述两个字段,有时候我们根据商品名称或者描述来查询商品,但是所有的名称或者商品描述又不同,其内容长度又长短不一,但是商品名称或者描述又是经常查询的字段,我们怎样给商品描述或者商品名称添加索引哪?也就是说在商品名称或者商品描述上面的索引长度应该设置多长最合适哪?区分度与索引长度的权衡索引长度越低,索引在内存中占的长度越小,排序越快,然而区分度就越低。这样不利于查找。索引长度越长,区分度就高,虽然利于查找了,但是索引在内存中占得空间就多了。

2020-07-04 19:42:22 260

原创 Java 8 学习笔记之巅峰对决

https://blog.csdn.net/weixin_45225595/article/details/106203264

2020-06-27 14:22:07 111

转载 JAVA中不要用e.printStackTrace()

e.printStackTrace() 会导致锁死?这仅仅是打印啊,怎么可能?!先别惊呼不可能,且听我细细道来。先看截图1:注意右下角区域,红框部分。这块内存是什么呢?非堆!那么,左边是代码缓存区内存,右边红框就是字符串池,常量,基本类型数据的内存区。然后呢?已经满了。什么原因呢?e.printStackTrace()!满了的后果呢?整个web服务,访问之后,没响应了,就当是卡死掉了。再来看截图2:看看有多少web的请求线程,被卡住在打印这一步!原因呢?要打印字符串输出到控制

2020-06-12 00:12:31 608

转载 Nginx服务器之负载均衡策略(6种)

一、关于Nginx的负载均衡  在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。二、Nginx负载均衡策略  负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表: #动态服务器组 upstream dynamic_zuoyu { server localhos.

2020-05-24 13:35:04 141

转载 一致性哈希算法的原理与实现

分布式系统中对象与节点的映射关系,传统方案是使用对象的哈希值,对节点个数取模,再映射到相应编号的节点,这种方案在节点个数变动时,绝大多数对象的映射关系会失效而需要迁移;而一致性哈希算法中,当节点个数变动时,映射关系失效的对象非常少,迁移成本也非常小。本文总结了一致性哈希的算法原理和Java实现,并列举了其应用。 1 概述1.1 传统哈希(硬哈希)分布式系统中,假设有 n 个节点,传统方案使用 mod(key, n) 映射数据和节点。 当扩容或缩容时(哪怕只是增减1...

2020-05-24 12:59:33 135

原创 两个系统之间数据同步

1.概述本文所讨论的数据同步是指分别部署的多套系统之间的数据同步。数据同步可分为三类:实时同步、定时同步、手动同步。同步方案可分为:数据库同步、读写文件同步、直接调用接口同步。2.数据同步同步讲究数据传输的时效性,要求对于数据的变化要快速反应。数据同步最好的情况是能够实现实时同步,但是考虑到数据同步过程中对系统的压力以及数据实时同步的必要性等因素有时会选择定时同步和手动同步。3.同步方案数据需要从平台A同步到平台B。目前只考虑数据从A到B的情况。3.1.数据库同步通过

2020-05-23 21:50:40 6231 1

原创 spring boot启动原理

我们开发任何一个Spring Boot项目,都会用到如下的启动类@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }}从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringAppl

2020-05-17 13:29:33 162

原创 Spring Bean的生命周期

Spring框架中,一旦把一个Bean纳入Spring IOC容器之中,这个Bean的生命周期就会交由容器进行管理,一般担当管理角色的是BeanFactory或者ApplicationContext,认识一下Bean的生命周期活动,对更好的利用它有很大的帮助:下面以BeanFactory为例,说明一个Bean的生命周期活动Bean的建立, 由BeanFactory读取Bean定义文件,并生成各个实例 Setter注入,执行Bean的属性依赖注入 BeanNameAware的setBeanName

2020-05-17 13:09:55 107

原创 Spring事务失效的几种原因

1、spring的事务注解@Transactional只能放在public修饰的方法上才起作用,如果放在其他非public(private,protected)方法上,虽然不报错,但是事务不起作用2、如果采用spring+spring mvc,则context:component-scan重复扫描问题可能会引起事务失败。如果spring和mvc的配置文件中都扫描了serv...

2020-04-25 13:49:30 647

空空如也

空空如也

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

TA关注的人

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