自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows防火墙与TCP、UDP

我们有时候访问电脑的一些系统和下载软件的时候后,提示没有权限。因为我们win10系统的防火墙为识别自动拦截了,想要获得权限,就得暂时关闭掉防火墙,该如何关闭呢?看这里,直接安装无需顾虑微软推送的升级限制。4、随后在打开的窗口中,点击左侧任务栏的“5、这时候就可以根据需要选择“1、首先打开开始菜单,选择“3、在更改网络设置里点击“”了,点击确定即可。...

2022-08-05 15:52:51 1065 1

原创 linux系统中查看防火墙开放端口号命令

查询已开放的端口(已开放的端口号集合):firewall-cmd --zone=public --list-ports。添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent。移除指定端口:firewall-cmd --permanent --remove-port=123/tcp。查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp。重载入添加的端口:firewall-cmd --reload。...

2022-08-05 15:12:28 25109

原创 LocalDateTime的详细使用方法

/格式化日期(DateTimeFormatter是线程安全的,用于localData的时间格式化)有时候,我们需要日期的计算,比如在当前日期的基础上移动X天是什么时候,或者在指定的某一天的基础上移动X天是什么时候,等等。//创建LocalDateTime,获取年月日时分秒,等于LocalDate+LocalTime。//月(这里用到了ChronoField类,有兴趣的可以去了解一下)//创建LocalTime,只会获取几时几分几秒。//获取当前时间(年月日)//构造指定的年月日。...

2022-08-04 17:23:08 1025

原创 CountDownLatch使用及原理

任务时间长是因为统计指标多,而且指标是串行的方式去进行统计的,我们只需要考虑把这些指标从串行化的执行方式改成并行的执行方式,那么整个页面的时间的渲染时间就会大大的缩短, 如何让多个线程同步的执行任务,我们这里考虑使用多线程,每个查询任务单独创建一个线程去执行,这样每个统计指标就可以并行的处理了。统计报表页面涉及到的统计指标数据比较多,每个指标需要单独的去查询统计数据库数据,单个指标只要几秒钟,但是页面的指标有10多个,所以整体下来页面渲染需要将近一分钟。构建阻塞队列的双向链表,挂起当前线程。...

2022-08-04 11:38:12 377

原创 如何在项目中正确使用WebSocket

其实channels模块给你提供了一个专门用于做群聊功能的模块channle-layers模块该模块暂时不讲,我们放到后面写代码的时候再来看实际应用。ps:当你使用pycharm创建django项目的时候会自动帮你创建模版文件夹,但是你在终端或者服务器上创建项目的时候是没有该文件夹的。当全局没有模版文件夹的时候,那么在查找模版的时候顺序是按照配置文件中注册了的app的顺序,从上往下一次查找(实操演示)(2)在组件加载的时候连接websocket,在组件销毁的时候断开websocket。...

2022-08-04 11:27:00 202

原创 线程池的高级应用技巧核心解读

尽管 Executors 的工厂方法使用方便,在生产场景被很多企业的开发规范所禁用。要求通过标准构造器 ThreadPoolExecutor 去构造工作线程池。

2022-08-03 20:34:05 52

原创 Spring 源码关键点之一:三级缓存

通过我们的分析可以看到,spring仅通过一个接口,就支撑了AOP组件,甚至spring根本不关心,你是要进行动态代理,还是要进行其他操作,spring只是提供了这么一种方式,一个机会,让其他组件可以在bean实例化完成之后,彻底初始化之前,对bean做一些操作。按照这个步骤(上面说的spring分步创建对象的步骤),当创建A时,先把A放到一级缓存里,发现A依赖B,在缓存里搜索B,没有,那就创建B,创建B的过程中发现依赖A,在缓存里查找,嘿找到了!哦不对,这样会造成所有人来拿对象的时候,都要判断一下。...

2022-08-03 20:30:54 182

原创 今天来聊一下Spring的循环依赖

首先,我们需要知道什么是依赖,当对象A持有对象B的引用的时候,我们可以称A对象依赖于B对象。所以很容易理解到循环依赖就是在这个依赖关系中出现了一个循环。比如A依赖B、B依赖A。或者A->B->C->A这种。...

2022-08-03 20:08:14 72

原创 一张照片攻破人脸识别系统:能点头摇头张嘴,网友

人脸识别又上热搜了。就在最近,央视网曝出了一种分分钟攻破人脸识别的方法:只需要一张照片的那种。△ 图源:央视网微博在视频的演示中我们可以看到,随便一个人,用一段包含点头、摇头、说话等动作的驱动视频。原本照片里的人物也会随之做出一样的行为。虽然我们知道一张静态图,现在大概率是无法解锁人脸识别。但这样动起来之后,结果可就不一样了。于是,人脸识别系统便自然可以轻松通过:△ 图源:央视网微博央视网曝出的这段视频,成功引发了网友们的热议。许多网友对这种攻破人脸识别系统

2022-05-10 14:42:04 2226

原创 【高并发】面试官

使用Java堆内存来存储对象。使用堆缓存的好处是没有序列化/反序列化,是最快的缓存。缺点也很明显,当缓存的数据量很大时,GC(垃圾回收)暂停时间会变长,存储容量受限于堆空间大小。一般通过软引用/弱引用来存储缓存对象。即当堆内存不足时,可以强制回收这部分内存释放堆内存空间。一般使用堆缓存存储较热的数据。可以使用Guava Cache、Ehcache 3.x、 MapDB实现。[](()堆外内存即缓存数据存储在堆外内存,可以减少GC暂停时间(堆对象转移到堆外,GC扫描和移动的对象变少了),可以支持更多的缓存

2022-05-10 14:39:47 82

原创 【好文种草】根域名的知识 - 阮一峰的网络日志

按理说,Verisign 是 ICANN 最大的托管商,两家的关系应该很好才对。事实却是它们的关系很差,甚至还打过官司。原因在于,ICANN 是政府支持的非盈利机构,不以盈利为目标,而 Verisign 是一家商业公司,追求利润最大化,每年必须交大量的托管费给前者。两家的矛盾就源于此。2003年,Verisign 推出了一项新业务 Site Finder,用户访问没有注册过的.com或.net域名,都会被导向 Verisign 的网站。这意味着,它事实上拥有了所有没有注册过的.com和.net域名。 .

2022-05-10 14:31:38 1012

原创 【Spring注解驱动开发】在

@description 测试@Import注解中使用ImportSelector 自定义逻辑,返回需要导入的组件*/public class MyImportSelector implements ImportSelector {/**返回值为需要导入到容器中的bean的全类名数组AnnotationMetadata:当前标注@Import注解的类的所有注解信息*/@Overridepublic String[] selectImports(An..

2022-05-10 14:30:01 55

原创 【Spring注解驱动开发】困扰了我很久的AOP嵌套调用终于解决了

Spring AOP在同一个类里自身方法相互调用时无法拦截。比如下面的代码:public class SomeServiceImpl implements SomeService {public void someMethod() {someInnerMethod();}public void someInnerMethod(){}}两个方法经过AOP代理,执行时都实现系统日志记录。单独使用someInnerMethod时,没有任何问题。但someMethod就有问题了。someMeth

2022-05-10 14:28:02 314

原创 【SpringBoot2 从0开始】开发小技巧 - lombok

‘}’;}}现在使用 lombok 可以简化 JavaBean 的开发。1. 引入 lombok 依赖org.projectlomboklombok2. idea 安装 lombok 插件在设置里搜索,安装即可。3. 使用 lombok 修改之前的代码使用 lombok 修改上面的 Pet 类,就可以这么写了:package com.pingguo.boot.bean;import lombok.AllArgsConstructor;import lombok.Data;i

2022-05-10 14:26:25 129

原创 【mysql学习】8

insert into cellphone values(null,‘vivo手机’,3600,0.88);insert into cellphone values(null,‘华为手机’,5500,0.92);insert into cellphone values(null,‘魅族手机’,3400,0.95);insert into cellphone values(null,‘菠萝手机’,8000,0.90);成功创建表后输入select * from cellphone;查看数据是否插入成

2022-05-10 14:24:05 138

原创 【MVC架构】MVC模型

Model在MVC体系结构中表示特定于域的数据和业务逻辑。它维护应用程序的数据。模型对象像数据库一样检索和存储持久性存储中的模型状态。模型类保存公共属性中的数据。所有Model类都驻留在MVC文件夹结构的Model文件夹中。在实际项目中的应用在我们的实际项目中,一般我们把MVC架构和三层一起进行使用,所以,通常我们把Model拿到了MVC框架的外面,Model层的数据一般都是通过EF映射得到的。在下图中,B层是业务逻辑层,D层是数据访问层。Controllers是应用程序中处理用户交互的部分。Vi.

2022-05-10 14:21:38 222

原创 SpringCloud+OAuth2统一权限验证

2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限关键名词在详细讲解OAuth 2.0之前,需要了解几个专用名词。它们对读懂后面的讲解,尤其是几张图,至关重要。(1) Third-party application:第三方应用程序,(2)HTTP service:HTTP服务提供商,本文中简称"服务提供商",(3)Resource Owner:资源所有者(4)User Agent:用户代理 《一线.

2022-05-09 15:48:19 629

原创 SpringCloud GateWay 网关 在GlobalFilter 拿出返回数据response

@Componentpublic class WrapperResponseGlobalFilter implements GlobalFilter, Ordered {private static final Logger log = LoggerFactory.getLogger(WrapperResponseGlobalFilter.class);@Overridepublic int getOrder() {// -1 is response write filter, must be c

2022-05-09 15:46:01 1936

原创 SpringBoot面试题

spring-boot-maven-plugin提供了一些像jar一样打包或者运行应用程序的命令。spring-boot:run 运行SpringBoot应用程序; spring-boot:repackage 重新打包你的jar包或者是war包使其可执行 spring-boot:start和spring-boot:stop管理Spring Boot应用程序的生命周期 spring-boot:build-info生成执行器可以使用的构造信息6、什么是YAML?YAML是一种人类可读的数据序列化语言。它

2022-05-09 15:44:30 102

原创 SpringBoot整合SpringDataRedis

/**1.创建JedisPoolConfig对象。在该对象中完成一些链接池配置@ConfigurationProperties:会将前缀相同的内容创建一个实体。*/@Bean@ConfigurationProperties(prefix=“spring.redis.pool”)public JedisPoolConfig jedisPoolConfig(){JedisPoolConfig config = new JedisPoolConfig();/*//最大空闲数confi

2022-05-09 15:42:31 562

原创 SpringBoot整合RabbitMQ实现数据同步

[](()场景介绍==================================================================假设某个电商系统中有商品服务负责MySQL中商品的增删改查,同时还有搜索服务负责Elasticsearch实现商品的搜索,Elasticsearch中的数据需要和MySQL中的数据进行同步。这就需要两个服务之间进行通信,使用RabbitMQ可以实现。业务流程:商品服务对MySQL中的商品进行增删改商品服务修改MySQL后,将修改商品的ID

2022-05-09 15:40:29 933

原创 SpringBoot开发秘籍 - 利用 AOP 记录日志

@Around:通知方法会将目标方法封装起来@Pointcut:定义切点表达式切点表达式指定了通知被应用的范围,表达式格式:execution(方法修饰符返回类型方法所属的包.类名.方法名称(方法参数)//com.ninesky.study.tiny.controller包中所有类的public方法都应用切面里的通知execution(public * com.ninesky.study.tiny.controller..(…))//com.ninesky.study.tin..

2022-05-09 15:38:48 235

原创 SpringBoot发送邮件、执行异步任务、定时任务

[](()发送邮件=======================================================================org.springframework.bootspring-boot-starter-mail发送邮箱之前,我们需要先在application.yml配置文件编写邮箱相关配置#邮箱密码,qq邮箱为例,需要前往qq邮箱生成获取。(并不是邮箱登录密码)spring.mail.password=xxxxxxxxxxxxx#邮箱用户名

2022-05-09 15:36:25 415

原创 SpringBoot【整合servlet】

@create: 2019-05-11 14:53*/@WebServlet(name = “FirstServlet”,urlPatterns = “/first”)public class FirstServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {.

2022-05-09 15:34:42 180

原创 SpringBoot 笔记

org.springframework.bootspring-boot-starter-parent2.6.01.1.2 引入依赖org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-test<>test1.3 创建主程序根据项目名创建相应 的包文件,在...

2022-05-09 15:32:30 117

原创 阿里三年面试官整理Java最新知识点,啃完文档进入BATJ不是梦

这份2020面试文档总计13大专题124页,为了不影响大家的阅读体验,这里就不一一例举出来了,完整版的文档有需要的朋友帮忙转发文章,关注我添加下方图中VX即可Java====Java基础知识重载和重写的区别String和StringBuffer. StringBuilder 的区别是什么? String 为什么是不可变的?自动装箱与拆箱==与equals关于final 关键字的一些总结Object类的常见方法总结Java中的异常处理获取用键盘...

2022-05-04 19:26:17 544

原创 金三银四面试阿里险些被拒,全靠这份阿里内部Java核心笔记直击开发

微服务架构如何运作?Netty 与RPC==========Netty 原理Netty 高性能Netty RPC实现关键技术核心流程消息编解码通讯过程RMI实现方式网络======网络7层架构TCP/IP原理TCP三次握手/四次挥手HTTP原理CDN 原理分发服务系统负载均衡系统管理系统日志==Slf4jLog4jLogBackLogback优点E.

2022-05-04 19:22:36 93

原创 金三银四如何实现涨薪计划?Java程序员面试指南(泰山版

Mysq|面试题Redis面试题Memcached面试题MongoDB面试题Spring面试题Spring Boot面试题Spring Cloud面试题RabbitMQ面试题Dubbo面试题MyBatis面试题ZooKeeper面试题数据结构面试题算法面试题Elasticsearch面试题Kafka面试题...

2022-05-04 19:20:24 221

原创 这款IDEA插件刷爆了朋友圈,网友:这用起来有点酸爽

# 安装使用教程=============安装–1.在idea中直接搜索安装StopCoding插件(官方已经审核通过)2. 内网开发的小伙伴 可以下载之后进行本地安装:https://github.com/jogeen/StopCoding/releases/tag/20210104-V1.0本地安装:使用–Step1. 然后在菜单栏中tools->StopCodingStep2. 设置适合你的参数然后保存。Step3. 然后快乐的Coding吧,再不用担心自己

2022-05-04 19:13:33 631

原创 计算机时钟是如何运行的?

小时候,家里的墙上总是挂着一个大时钟。每过一段时间,我就要去手动调整一下,因为它不准了。那时候小,以为是指针向上走的时候比较难,向下走的时候有惯性,所以走着走着就有了偏差。后来有电脑了,但是由于经常的高三,电脑就一直处于关机状态。当高考完想打开电脑打游戏的时候,发现它的时钟也不准了。当时觉得是因为长时间断电导致的。后来我明白,钟表和计算机内部都有一个叫做「晶体振荡器」的东西,给它加上电压,它就会以固定的频率振动。但这个振动频率的「稳定性」,取决于它的制造工艺,以及外界环境的影响。虽然它们的误差很小,但

2022-05-04 19:11:44 247

原创 被JVM虐千万遍,终于把这些JVM知识点笔记整理清楚了,我太难了

Java内存区域笔记运行时数据区域(程序计数器、堆、栈等)站在线程角度来看堆和栈深入辨析堆和栈方法的出入栈虚拟机中的对象堆参数设置和内存溢出实战JVM的执行子系统Class类文件本质,Class文件格式字节码指令类加载机制栈桢详解方法调用详解基于栈的字节码解释执行引擎性能优化笔记常用的性能评价/测试指标常用的性能优化手段详细了解应用服务性能优化垃圾回收器笔记判断对象的存活辨析强、弱等

2022-05-04 19:07:49 78

原创 蚂蚁金服Java研发岗二面:redis-常见数据结构以及使用场景分析

1. String常用命令: set,get,decr,incr,mget 等。String数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。 常规key-value缓存应用; 常规计数:微博数,粉丝数等。2.Hash常用命令: hget,hset,hgetall 等。Hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,后续操作的时候,你可以直接仅仅修改这个对象中的某个字段的值。 比如我们可

2022-05-04 19:05:42 79

原创 jvm内存结构

虚拟机栈====每个线程运行时所需的内存成为虚拟机栈每个栈由多个栈帧组成, 栈帧对应每个方法被调用时所占用的内存每个线程只能有一个活动栈帧, 对应着当前正在执行的那个方法存放一些方法的参数, 局部变量, 返回地址等等线程私有问题辨析垃圾回收是否涉及到栈内存? 不设计, 因为栈只是存放方法被调用时的参数, 局部变量, 用完之后自动被弹出栈栈内存分配越大越好吗 不是, 内存越大, 线程数会变少, 物理内存

2022-04-24 22:07:56 67

空空如也

空空如也

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

TA关注的人

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