- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 SpringBoot 集成 I18N 国际化
前言最近在搞后端国际化语言,在网上也看了挺多别人写的,但是都需要注入配置文件和依赖@Configuration@EnableAutoConfiguration@ComponentScanpublic class LocaleConfig extends WebMvcConfigurerAdapter { @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new .
2022-04-24 11:28:02 913
原创 IDEA Plugins中搜索不到插件解决办法
是不是还在为idea中插件搜索不到插件而烦恼?还在手动导入插件?这里记录一下不用重启的解决办法,非常实用,分享给大家。1.首先大家来到以下画面File->Settings->Plugins->⚙->HTTP Proxy Settings…2.如图所示,勾选 Auto-detect proxy settings 和 Auto-detect proxy configuration URL ,后面输入框不用填写,然后点击 Check connection3.在弹出的窗口.
2022-04-23 22:33:41 9874 5
原创 微信公众号机器人教程
微信对话开放平台:https://openai.weixin.qq.com/依次如下:扫码:填写信息:技能: 全部选上发布:机器人信息编辑:绑定应用:扫描授权即可做完这些可以在右边找到调式图标结果到这里就可以了,就可以到你的公众号去测试,如果不行则重新发布即可。...
2022-04-20 15:44:19 951
原创 保姆式教程教你搭建一个能获利的小程序
前言:最近在倒腾微信小程序,由于天天点外卖没有红包,所以在网上找了找,最终搞了这个外卖小程序。源码及教程我放在了公众号里面,欢迎大家自取。源码获取方式:回复关键字 外卖想进入交流群回复关键字 : 交流群...
2022-04-20 14:47:14 267
转载 JVM垃圾回收机制
内存总是有限的,我们需要一个机制来不断地回收废弃的内存,从而实现内存的循环利用,这样程序才能正常地运转下去。比起 Java 虚拟机的内存结构有《Java 虚拟机规范》规定,垃圾回收机制并没有具体的规范约束。所以很多时候不同的虚拟机有不同的实现方式,下面所说的垃圾回收都是以 HotSpot 虚拟机为例。到底谁是垃圾?要进行垃圾回收,最为重要的一个问题是:判断谁是垃圾?联想其日常生活中,如果一个东西经常没被使用,那么这个对象可以说就是垃圾。在 Java 中也是如此,如果一个对象不可能再被引用,那么这个对
2021-09-01 10:57:58 81
转载 java虚拟机内存结构
字节码数据在 Java 虚拟机内存中是如何存放的 ?Java 虚拟机在为类实例或成员变量分配内存是如何分配的 ?要解答上面这些问题,我们首先需要了解一下 Java 虚拟机的内存结构。其实 Java 虚拟机的内存结构并不是官方的说法,在《Java 虚拟机规范》中用的是「运行时数据区」这个术语。但很多时候这个名词并不是很形象,再加上日积月累的习惯,我们都习惯用虚拟机内存结构这个说法了。根据《Java 虚拟机规范》中的说法,Java 虚拟机的内存结构可以分为公有和私有两部分。公有指的是所有线程都共享的部分,
2021-08-30 14:39:26 238
转载 JVM学习笔记
一、从源代码到机器码经过了哪些过程?如下图所示,编译器可以分为:前端编译器、JIT 编译器和AOT编译器前端编译器:源代码到字节码之前我们说到:对于 Java 虚拟机来说,其实际输入的是字节码文件,而不是 Java 文件。那么对于 Java 语言而言,其实怎么将 Java 代码转化成字节码文件的呢?我们知道在 JDK 的安装目录里有一个 javac 工具,就是它将 Java 代码翻译成字节码,这个工具我们叫做编译器。相对于后面要讲的其他编译器,其因为处于编译的前期,因此又被成为前端编译器。通过
2021-08-30 10:44:29 85
原创 linux 安装 docker
首先需要卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrota.
2021-08-23 22:32:20 87
原创 红黑树原理简单解析
一、红黑树为什么会出现呢?是因为二叉搜索树有可能会出现极端的情况,就是只有一侧有数据,那这样的话就会降级为链表。后来出现了平衡二叉树,但是由于强制平衡所导致付出的代价比较高昂,所以黑红树出现了。二、简介红黑树(Red Black Tree) 的实现是基于二叉查找树的,对于含有n个节点的二叉查找树的最坏的情况是这n个节点形成一条单链,此时二叉查找树的高度为n,时间复杂度为O(n)。为了维持O(lg n)的运行时间,就需要采取一些措施在不影响二叉查找树的性质下改变二叉查找树的结构,使之平衡。红黑树就是这样
2021-08-19 12:34:29 9636 1
原创 java集合之ArrayList扩容机制
ArrayList是工作中经常都要用到的一个集合,今天我们来看看ArrayList是怎么扩容的。一、ArrayList有三个构造函数无参构造public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;}无参构造函数只创建了一个空的数组。2. 有参构造函数public ArrayList(int initialCapacity) { if (initialCapacity &.
2021-08-18 22:17:11 166
原创 spring 循环依赖问题
今天我们来聊聊循环依赖问题循环依赖是什么循环依赖指的是两个或者两个以上的对象互相依赖,就好比如A对象需要依赖B对象,B对象又依赖A对象所导致的问题。如图循环依赖分为两种:构造器依赖(无法解决)属性依赖(可以解决)既然构造器依赖无法解决,那我们来聊聊属性依赖,直接上图(画图技术太菜,自己都看不太懂,害)文字说明:现在有A、B两个对象互相依赖,我们看看属性注入是如何利用三级缓存来解决的。首先初始化A对象,此时还未注入属性,把A对象工厂存入三级缓存对A对象进行属性填充,由于A的属.
2021-08-15 15:06:04 90
原创 Spring Bean 生命周期源码
Spring Bean 生命周期非常重要,今天我们来进入到源码了解一下整个bean的生命周期先来一张流程图(懒得画了,截图的)大概了解了bean的生命周期后,我们来看源码
2021-08-15 14:07:37 506
原创 java常用设计模式(三)代理模式
一、代理模式为某个对象提供一个代理,从而控制这个代理的访问。代理类和委托类具有共同的父类或父接口,这样在任何使用委托类对象的地方都可以使用代理类对象替代。代理类负责请求的预处理、过滤、将请求分配给委托类处理、以及委托类处理完请求的后续处理。二、代理模式结构UML类图:由上图代理模式的结构为:抽象角色: 真实对象和代理对象的共同接口。代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执
2021-08-11 18:07:13 96
原创 spring ioc容器源码解读
Spring是每个java程序员都必须要掌握的技能,很多人都想通过阅读源码来提升自己的技术深度,这里分享一下我读源码的方法。我觉得看源码应该先大概的读,知道主脉络,然后再去读细节,这样才不会乱,先放上我画的图(不怎么会画,大概看看就好)然后我们来看一下照着图来走一下代码在springboot启动类打断点public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }.
2021-08-09 23:06:28 283 1
原创 设计模式之七大基本原则
做什么事都需要遵循一些准则,设计模式也不例外。我们在设计一些设计模式时,一般遵循如下七项基本原则,它们分别是:单一职责原则 (Single Responsibility Principle)开放-关闭原则 (Open-Closed Principle)里氏替换原则 (Liskov Substitution Principle)依赖倒转原则 (Dependence Inversion Principle)接口隔离原则 (Interface Segregation Principle)迪米特法.
2021-08-05 10:26:26 903
原创 java常用设计模式(二)工厂模式
工厂模式作用:实现了创建者和调用者的分离详细分类简单工厂模式工厂方法模式OOP七大原则开闭原则: 一个软件的实体应当对扩展开放, 对修改关闭依赖倒转原则: 要针对接口编程, 不要针对实现编程迪米特法则: 只与你直接的朋友通信, 而避免和陌生人通信核心本质实例化对象不使用new, 用工厂方法代替将选择实现类, 创建对象统一管理和控制. 从而将调用者跟我们的实现类解耦模式:简单工厂模式用来生产统一等级结构中的任意产品(对于增加新的产品,需要覆盖已有代码)工厂方法模式用来生产同一
2021-08-03 18:12:51 135
原创 java常用设计模式(一)单例模式
设计模式(Design pattern),提供了在软件开发过程中面临的一些问题的最佳解决方案,是Java开发者必修的一门课程。主要分创建型模式、结构型模式和行为型模式。其中接下来我们要写的是单例模式,属于创建型模式。单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。下面我们来看下有哪几种实现方式吧。核心代码:构造方法私有化,private。1、懒汉式 public class LazyMan{
2021-08-02 23:48:22 96
原创 SpringSecurity(一)表单登录之登录认证
SpringSecurity(一)表单登录之登录认证springsecurity是spring推荐的安全权限框架,今天我们来看看它的原理,后面会放github地址springsecurity包含了两部分:登录认证和访问授权1.登录认证–首先我们来看看表单登录,表单登录需要在security配置类里面配置HttpSecurity 的 formLogin@Configuration@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnable
2020-08-17 23:10:32 539
原创 Vue cli3 dll插件及开启gzip压缩优化打包编译慢的问题
当Vue的应用越来越大的时候,就会发现启动和编译越来越慢,非常影响开发效率,并且打包体积也越来越大,于是边寻找了一番解决方案,通过以下两种方式可以稍微缓解一下:dll剥离第三方库开启gzip压缩我们先来看看dll插件一:在pack.json文件添加dll{··· "scripts": { "serve": "xxx xxx xxxx", "dll": "webpack -p --progress --config ./webpack.dll.conf.js",···
2020-06-07 16:31:14 436
原创 HttpClient忽略SSL证书,附带百度网盘jar包
适用httpClient绕过ssl证书前段时间,使用httpClient访问外部https接口时出现了需要证书的情况,这个问题解决得办法有两个正儿八经的安装证书绕过/忽略 证书今天我们来使用第二种方法,绕过ssl证书访问https接口首先上两个工具类1.MyX509TrustManager类import javax.net.ssl.X509TrustManager;import java.security.cert.CertificateException;import java.se
2020-06-07 16:01:40 727
原创 前端批量下载文件以较友好的形式下载
1.最近遇到一个需求,需要多选文件后实现下载,这里采用的是不打包形式。2.vue前端下载文件一般都是直接新开一个窗口下载,但是这样会有一瞬间的闪屏,即开窗口关窗口这一瞬间的闪屏3.于是采用js创建a标签实现无闪烁下载直接写一个for循环,把file的url传入下载方法即可下载方法代码如下:async downloadFile(url) { try { let a = document.createElement("a"); // 创建a标签 let e = document.createEv
2020-05-31 23:54:06 565
原创 springboot集成swagger出现api重复问题
周末在搭建springboot后台框架的时候,集成swagger的时候遇到一个问题,发现api接口重复了很多次,如下图所示:于是百度了一番无果,就想着会不会是后台注解的问题,尝试着修改了一番,果然是注解问题出现问题的注解是这样的我用的是RequestMapping注解,并未指定请求的方式是post或者get,所以估计swagger把所有可能的结果都列出来了我把注解改为GetMapping注解,api接口就只有一种可能了至此,恢复正常在此记录以下。...
2020-05-31 23:45:46 3961
原创 vue-cli3项目打包后,静态资源请求失败
今天打包vue-cli3时,扔到服务器上面发现所有的资源都请求失败了,然后去根目录找配置文件,发现没有vue.config这个文件,只有一个babel.config.js这个文件,于是自己创建了一个vue.config文件如下:module.exports = { // 基本路径 publicPath:"./", // 可以设置成相对路径,这样所有的资源都会被链接为相对路径,打出来的包可以被部署在任意路径 outputDir:"dist", //打包时生成的生产环境构建文件的目
2020-05-20 23:30:52 3015 2
原创 使用nginx部署访问出现403 forbidden错误
前几天部署vue前端,使用nginx代理后访问出现403 这个错误,我去到nginx目录下的logs/err.log查看报错日志。有什么错第一时间查看服务器日志,发现报错如下:open() “/root/www/xxxx” failed (13: Permission denied), client: xxxxx, server: www.xxxx.com, request: “GET /xxx HTTP/1.1”, host: “www.xxxx.com”经过网上一番查找,发现是没有权限,修改ngi
2020-05-18 12:44:47 5059 4
原创 java生成和解析二维码
记录一下二维码的生成与解析这个比较简单,只需要引入一个jar包即可后面再分享出前端解析二维码生成二维码 public static void qrCodeEncode(String encodeddata, File File) throws IOException { Qrcode qrcode = new Qrcode(); qrcode.setQrcodeErrorCorrect('M'); qrcode.setQrcodeEncode
2020-05-12 21:58:08 229
原创 简单的搭建Websocket(java+vue)
简单记录一下搭建webSocket的过程搭建webSocket非常简单,只需要以下两步后台创建websocket配置类后台创建websocket类前端页面连接后台WebSocket配置类如下配置类,照搬即可import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.
2020-05-11 21:08:15 1758 3
原创 亲测可用,java+vue压缩及下载zip
实现java压缩文件或文件夹以流返回vue前端下载前一阵子需要实现这个需求,在网上找了挺久都找不到完整的前后端代码,要不就是只有前端没有后端,要么就是压缩出来文件末梢损坏,当时看了一下流也没有问题,就想着自己写一个博客。思路是这样的:在服务端生成相应的文件或者文件夹压缩文件或文件夹以流的形式返回前端下载那我们直接上代码:第一步就直接跳过,来到第二步,先上工具类这是我自己整理的工具类import javax.servlet.http.HttpServletResponse;import
2020-05-10 15:51:59 1663 4
原创 你好,世界
你好,世界 hello world2020,我的博客之旅开始了我会同步到公众号和网站的噢干货2020,我的博客之旅开始了今天开始,我将在这里跟大家一起分享一些关于一些程序员的技术问题,因为我今天发现挺多网上的解决方案都不是那么的完整,东一块西一块的,所以我决定自己写!可能写一些组件,比如:多级联动选择器之类比较实用的一些组件一些java中间件,比如nginx,toncat,docker等技术分享还有一些支付技术和权限方面的干货还有就是自己搭建前后端分离的架构还有就是一些日常碰到的一些难题
2020-05-08 22:38:47 300 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人