简单了解 MySQL 中相关的锁
本文主要是带大家快速了解 InnoDB 中锁相关的知识基础概念解析和RocketMQ详细的源码解析http://xiazai.jb51.net/202105/yuanma/RocketMQ_jb51.rar为什么需要加锁首先,为什么要加锁?我想我不用多说了,想象接下来的场景你就能 GET 了。你在商场的卫生间上厕所,此时你一定会做的操作是啥?锁门。如果不锁门,...
2024-01-10Docker下利用jenkins和docker实现持续交付
一.什么是持续交付 让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以发布的状况。它的目标在于让软件的构建、测试与发布变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。二.对比持续交付和传统交付 传统交付的发布周期...
2024-01-10vue项目中使用骨架屏的方法
现在的应用开发,基本上都是前后端分离的,前端主流框架有SPA、MPA等,那么解决页面渲染、白屏时间成为首要关注的点webpack可以按需加载,减小首屏需要加载代码的体积;使用CDN技术、静态代码等缓存技术,可以减小加载渲染的时长问题:但是首页依然存在加载、渲染等待时长的问题。那么如何...
2024-01-10让Vue响应Map或Set的变化操作
问题背景我想在vuex的state中使用map,这样可以使很多操作变得方便const state = { all: new Map()}这样的写法是没有问题的,不会报错,state.all可以像正常的Map一样使用。但是这里有一个问题,vue的响应式系统不支持Map和Set,也就是说,当Map与Set里面的元素变化时Vue追踪不到这些变化,因此无法做出响...
2024-01-10详解Java单元测试之JUnit篇
单元测试是编写测试代码,应该准确、快速地保证程序基本模块的正确性。JUnit是Java单元测试框架,已经在Eclipse中默认安装。JUnit4JUnit4通过注解的方式来识别测试方法。目前支持的主要注解有:@BeforeClass 全局只会执行一次,而且是第一个运行@Before 在测试方法运行之前运行@Test 测试方法@After 在...
2024-01-10详解Spring mvc DispatchServlet 实现机制
在Spring中, ContextLoaderListener只是辅助类,在web 容器启动的时候查找并创建WebApplicationContext对象,通过该对象进行加载spring的配置文件。而真正的逻辑实现其实是在DispatcherServlet中进行的,DispatcherServlet是实现servlet接口的实现类。DispatcherServlet 在 web.xml 中的配置如下:<servlet> <servlet-name>spring</servlet-na...
2024-01-10深入探索Java常量池
Java的常量池通常分为两种:静态常量池和运行时常量池静态常量池:class文件中的常量池,class文件中的常量池包括了字符串(数字)字面值,类和方法的信息,占用了class文件的大部分空间。运行时常量池:JVM在完成加载类之后将class文件中常量池载入到内存中,并保存在方法区中。平时我们所讲的常...
2024-01-10Tomcat 实现WebSocket详细介绍
Tomcat 如何实现WebSocketWebSocket协议属于HTML5标准,越来越多浏览器已经原生支持WebSocket,它能让客户端和服务端实现双向通信。在客户端和服务器端建立一条WebSocket连接后,服务器端消息可直接发送到客户端,从而打破传统的请求响应模式,避免了无意义的请求。比如传统的方式可能会使用AJAX不断请求...
2024-01-10java编程常用技术(推荐)
一:将String字符串放在最前面防止发生NullPointerException异常,我们通常把String字符串放在equals方法的左边来比较,这样可以有效的避免空指针异常的发生。第一种情况,如果variable为Null,则会发生空指针异常情况;第二种情况即使variable为Null,也不会发生空指针异常,而且不会丢失任何数据。所以建...
2024-01-10SSH框架网上商城项目第26战之订单支付后发送短信提醒
上一节我们使用了Java mail完成了给买家发送邮件的功能,还遗留一个功能,就是给买家发送短信,告诉他订单已经生成之类的。这一节主要介绍一下如何在用户支付完成后自动给用户发送短信。1. 申请短信发送功能 很明显,我们自己不能发短信,也没有做短信的功能,所以我们需要去借...
2024-01-10Java老手该当心的13个错误
生产过程中出现的问题正逐渐得到中层和最高管理层的重视。不管是身为开发人员还是架构师,下列的事项都应该得到你足够的重视以避免陷入未来的尴尬境地。你也可以把它作为排查问题的便签。#1、不在属性文件或 XML 文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中...
2024-01-10java实现socket客户端连接服务端
本例只做简单功能演示,代码并不严谨,只是说明客户端如何实现连接服务端简单代码。代码在集成Eclipse工具下测试编译运行环境如下图所示:客户端echoClient.java代码:package com.zhengzz.echo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket...
2024-01-10使用记事本编写java程序全过程图解
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和...
2024-01-10自己写框架
1.程序开始运行,第一次程序提示用户可以通过“help”命令获得帮助。 2.然后提示用户现在可用的数据库有哪几种类型。 3.然后用户选择数据库类型。 4.程序获得到用户的命令后,根据命令为CommandManager类的Executor属性创建具体执行者类的实例,如说是FileExecutor的实例。 5.然后再...
2024-01-10Eclipse中的扩展点机制存在的理由
众所周知,Eclipse平台本身就作为一个成功的OSGI应用,从技术层面讲,Eclipse本身就是由OSGI协议驱动的(我想,这句话大家已经听的很多遍了~_~)。同时Eclipse对OSGI组件机制做了有力的扩充,也就是我们所熟知的扩展点(Extension Point)机制,关于扩展点的支持也作为Equinox(Eclipse的OSGI协议实现)一...
2024-01-10有个姑娘被跟踪狂盯上,一调查才发现对方以组织夜跑为幌子,专搞女孩。
作者:凌云公众号:我会永远在你身后在阅读本文前,我要说的是,你可以当作一篇科普文,可以当成一篇故事去读,我不承认这事是真实(调查手法已经违法,怕让人盯上)也不承认这事是假的,我们的目的是让大家熟记一句话:“即使你是相当安全的,但仍要怀有警惕,我们在尝试以另一种角度...
2024-01-10使用uonconv转换文档格式
在命令行运行 "/软件/LibreOffice 5/program/python.exe" unoconv -f pdf 5a2fa630012f4.pptx,没问题,但是在php页面执行 exec("unoconv -f pdf 5a2fa630012f4.pptx"),var_dump出来是NULL回答:php怎么能解析python的命令...
2024-01-10mongodb查询问题
在pymongo中使用_id作为查询条件,尽然查询不出结果???下面的内容是我在网上搜到的,大部分文章也是这么写的,是不是有问题,这个查询方法???回答:你数据表里的_id是字符串,并不是ObjectId...
2024-01-10mongodb分组查询,取各班第1名
做排行,想取每个班级(level)里积分最高的人,各取1个。数据表如图:结果应该为:我使用的代码为: function onRequest(request, response, modules) { //获取数据库对象 var db = modules.oData; //黑坑1 db.find({ "table":"test", "limit":2, //"count":10, "order":"score", "score":{'$in':[1,2]}, "ke...
2024-01-10Python内部是如何存储GC引用变量的计数的?
这段时间一直在想一个问题,为什么Python有了GIL依然还要对变量加锁。Google的过程中查看一些东西,有了新的困惑。一个说法说Python内部保存了一个用户空间和一个内核空间。用户空间通常就是我们自己编写程序的对象(变量)。而GIL控制的就是内核空间,内核空间保存了比如GC对于变量的计数,而内核...
2024-01-10