Work
文章平均质量分 63
Work
你不懂、、、
系统看你学习很认真,随机送了一个月会员! 系统看你学习很认真,随机送了一个月会员! 系统看你学习很认真,随机送了一个月会员!
展开
-
Spring Cloud
主要解决微服务架构的核心问题主要包括以下四个方面:服务拆分(Service Decomposition):微服务架构的一个核心原则是将应用程序拆分成一组小型、自治的服务。服务拆分的关键是确定如何将应用程序按照业务功能进行划分,并建立独立的服务来处理每个功能。这需要考虑服务的边界和接口设计,以确保服务之间的职责清晰、高内聚和低耦合。服务通信和调用(Service Communication and Invocation):在微服务架构中,各个服务之间通过网络进行通信。服务之间需要进行远程调用,以实现跨服务原创 2024-02-02 17:11:45 · 1272 阅读 · 0 评论 -
URL和URI的区别及理解
URI包括URL和URN两个类别,URL是URI的子集,所以URL一定是URI,而URI不一定是URLURI = Universal Resource Identifier 统一资源标志符,用来标识抽象或物理资源的一个紧凑字符串。URL = Universal Resource Locator 统一资源定位符,一种定位资源的主要访问机制的字符串,一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。URN = Universal Resource原创 2021-03-30 22:12:45 · 26605 阅读 · 5 评论 -
URL、域名、网址、ip地址的联系和区别?及路由的说明
URL、域名、网址、ip地址的联系和区别?在国际互联网(Internet)上有成千百万台主机(host),为了区分这些主机,人们给每台主机都分配了一个专门的“地址”作为标识,称为IP地址,它就像您在网上的身份证,要查看自己IP地址可在Windows9x的系统中单击“开始”→"运行”→敲入“winipcfg”(2000/xp输入ipconfig)→按回车键。IP是InternetProtocol(国际互联网协议)的缩写。各主机间要进行信息传递必须要知道对方的IP地址。每个IP地址的长度为32位(b原创 2021-03-29 09:23:40 · 1510 阅读 · 0 评论 -
为什么重写equals时必须重写hashCode方法?
首先equals与hashcode间的关系是这样的:1、如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同;2、如果两个对象的hashCode相同,它们并不一定相同(即用equals比较返回false)也就是:两个对象相等,hashcode一定相等两个对象不等,hashcode不一定不等hashcode相等,两个对象不一定相等hashcode不等,两个对象一定不等大家都知道,equals和hashcode是java.lang.Object类的两个原创 2020-12-24 19:42:04 · 406 阅读 · 1 评论 -
如何判断两个IP地址是不是同一个网段(超实用)
IP地址IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),原创 2021-01-11 21:13:05 · 13375 阅读 · 2 评论 -
浅谈mybatis和jpa的区别
其实要承认,一个东西用久了都会有习惯心理。mybatis和jpa,两个持久层框架。从底层到用法都不同。但是实现的功能是一样的。所以说一直以来颇有争议。常年混迹于各大qq技术交流群。见过jpa的死忠粉也见过mybatis的铁杆。作为一个不到两年工作经验的小菜鸟来说,你让我分析源码,讲什么底层实现我是讲不出来的。只能作为一个使用者,来谈谈自己对这两个框架的理解。首先,都知道jpa的前身是著名的ssh中的h——>Hibernate。我到现在还记得学习Hibernate时对它产生的讲解:一个希望不用写sql转载 2021-04-10 00:23:58 · 1393 阅读 · 0 评论 -
throws 、throw的区别?
throws throw的区别?1.作用不同: throw 用于程序员自行产生并抛出异常, throws 用于声明该方法内抛出了异常;2.使用的位置不同: throw 位于方法体内部,可以作为单独语句使用; throws 必须跟在方法参数列表的后面,不能单独使用;3.内容不同: throw 抛出一个异常对象,且只能是一个; throws 后面跟异常类,且可以跟多个异常类;4.如果异常抛给了main()方法,主方法不处理任何异常,而交给Java中最大头JVM,所以如果在main方法使用了throws关原创 2020-12-29 18:41:03 · 2301 阅读 · 1 评论 -
JAVA:递归删除多层文件(超详细)
注意:请不要直接复制代码,就往自己电脑上粘贴运行(这太危险了/(ㄒoㄒ)/~~),因为每个人电脑的磁盘分布可能不同,而且文件也是不同的,最重要的是,java中的程序,删除的文件是不进入回收站的,也就是无法恢复的,所以,请先认真阅读代码,理解了再进行下一步操作…简单的import java.io.File;/* * 递归删除多层文件目录 */public class Test { public static void delDir(File file){ if(file.原创 2021-01-12 16:40:35 · 671 阅读 · 0 评论 -
final、finally、finalize三者的区别
在Java学习中遇到了三个关键字,final、finally、finalize,下面我来介绍一下它们的区别。final用于修饰类、成员变量和成员方法。final修饰的类,不能被继承(String、StrngBuilder、StringBuffer、Math,不可变类),其中所有的方法都不能被重写,所以不能同时用abstract和final修饰(abstract修饰的是抽象类,抽象类是用于被子类继承的,并且需要重写,和final起相反的作用);final修饰的方法不能被重写,但是子类可以用父类中final原创 2020-12-24 20:16:55 · 237 阅读 · 1 评论 -
字符与字节有什么区别
①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。举例:英文句号“.”占1个字节的大小,中文句号“。②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。转载 2021-05-18 09:11:00 · 1540 阅读 · 0 评论 -
前端,后端,前台,后台到底应该怎么理解
前端:前端代码就是项目在客户端运行时跑的代码,前端技术包括,html,css,javascript.技术以及各种框架,类库等。前端主要针对客户端(pc,移动),前端工程师的责任就是用前端技术把美工(ui)设计好的图和模型用HTML转化成页面,同时处理用户在页面上的操作,将数据发送给后端或者请求后端api返回数据,然后将数据展示到页面。前端这个词,更加偏向于技术。在某种意义上你也可以将前端理解为是客户端,也就是电脑或者手机。站在用户的角度可以将前端理解为用户看到的网页以及应用页面。前端可以说是视转载 2021-04-15 13:14:46 · 10277 阅读 · 0 评论 -
什么是负载均衡原理?
简单的来说,假设,你在放洗脚水,并且,当前你只有一洗脚盆。那么,你的洗脚水不管有多少,你最多就能装一个洗脚盆的这个就是,单服务器应用场景,你的流量就是洗脚水,然后,你娶了一个媳妇,这个时候,你们当然可以共用一盆洗脚水,但是,如果媳妇要求你们要分开使用喃?那么,就只能你先洗,或者媳妇先洗,流量翻倍,但是,还是单服务器应用,这个叫队列然后,你媳妇不满意,凭什么,你要先洗,或者,你要后洗,我们为啥不能买两个盆?于是,你多买了一个洗脚盆,然后,你和你媳妇分别用两个洗脚盆,这个,就是多服务器然后,你原创 2021-05-25 21:27:51 · 91 阅读 · 0 评论 -
session和cookie的区别和联系
cookie 和session 的区别:1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。原创 2021-06-10 23:57:52 · 110 阅读 · 0 评论 -
字符串转为二进制
格式说明符用来将数字转换为至少8位的二进制数,前面的零用来填充。这是因为在很多情况下,我们使用8位(一个字节)来表示一个ASCII字符,即使实际的ASCII值只需要7位。如果您使用的是Unicode字符或您想考虑到特殊字符的编码,请确保使用正确的字符编码来获取字节。这里有一个简单的方法,可以将字符串中的每个字符转换为其对应的二进制ASCII码值。方法用于获取字符串的字节表示形式,然后对每个字节进行操作,将其转换为二进制。‘h’ 在ASCII中的值是104,‘i’ 在ASCII中的值是105。原创 2021-04-13 22:27:30 · 689 阅读 · 0 评论 -
拦截器和过滤器的区别
过滤器(filter),过滤器处于客户端与Web资源(Servlet、JSP、HTML)之间,客户端与Web资源之间的请求和响应都要通过过滤器进行过滤。举例:在过滤器中定义了禁止访问192.10.10.1这个地址,那么当客户端发出访问192.10.10.1的请求时,经过过滤器后,客户端得到的响应是出现该IP禁止访问的提示。在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法原创 2021-05-22 15:13:32 · 333 阅读 · 1 评论 -
数组和集合的相互转
在Java中,数组和集合之间的转换是相对常见的操作。原创 2021-04-13 22:24:25 · 36 阅读 · 0 评论 -
JSP和HTML的区别是什么?
JSP和HTML之间有什么区别?下面本篇文章就来简单比较一下JSP和HTML,让大家了解JSP和HTML之间的联系和区别,希望对大家有所帮助。什么是JSP?JSP代表JavaServer Pages;它主要用于开发动态网页,文件的扩展名为.jsp。JSP技术允许快速开发并易于维护所述信息丰富的动态网页。JSP网页基于HTML,XML或其他文档类型。他们还需要兼容的Web服务器和servlet容器,例如Apache Tomcat或Jetty,才能运行。什么是HTML?HTML代表超文本标记语言。.原创 2021-03-10 22:06:04 · 9000 阅读 · 1 评论 -
JSP学习笔记
计划安排JSP (Java Server Page) -> JavaEE BS地位 -> 过渡(承上启下)Java基础 -> 逻辑 包 集合 持久化Web基础 -> Html Css JavaScript Jquery1.JSP -> Servlet 内置对象 Ajax2.Maven -> 项目架构管理3.Mybatis -> 基本使用(JDBC)Java框架 -> Spring全家桶1.SSHSpring Struts Hiberna原创 2021-03-14 21:54:50 · 178 阅读 · 1 评论 -
JavaScript葵花宝典(基础)
HTML 和 JavaScript计划:基础语法关键名词标签CSS样式表***JavaScript脚本(动态交互)JQuery库(JS库)为服务器端的网页动态交互提供基础为服务端脚本的学习提供基础(NodeJS)一、WEB和HTTP、BS结构HTTP协议是网络间数据传输的一种语言标准。BS结构:指应用程序的入口不再是main函数而是每个页面或程序都可以独立运行。B : Browser浏览器S : Server服务器CS结构:客户端(client)必须安装某些软件才原创 2021-03-09 21:50:30 · 180 阅读 · 0 评论 -
JQuery学习笔记
它使得HTML文档的遍历和操作、事件处理、动画和Ajax等操作更加简单,它适用于众多的浏览器。它的口号是“Write less, do more”,即“编写更少的代码,做更多的事情”。JQuery支持方法链式调用,即可以在一个单一的语句中运行多个JQuery方法(在同一个元素上)。一个基于JQuery的UI库,提供了一套交互式的界面和小部哦豁,我回答出错了耶~ 你重新试一试呗~JQuery提供了一些简单的方法来添加动画效果,如。JQuery简化了Ajax的使用,可以使用。等,提供了一个功能强大的工具集。原创 2021-03-09 21:18:18 · 145 阅读 · 1 评论 -
JSP学习笔记
JSP (java服务器页面)JSP(全称JavaServer Pages)是由SunMicrosystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分原创 2021-03-10 22:47:09 · 676 阅读 · 1 评论 -
IEDA 2020常用快捷键
请注意,快捷键可能会根据你的个性化设置有所不同,并且JetBrains会时不时更新这些快捷键。上述快捷键是基于默认设置。如果你已经自定义了你的快捷键或者使用了不同的键盘映射(例如Emacs或Vim),那么快捷键可能会有所不同。"IDEA"可能指的是IntelliJ IDEA,这是一个流行的Java集成开发环境(IDE),由JetBrains开发。原创 2021-03-17 21:59:11 · 96 阅读 · 0 评论 -
JQuery基础
JQuery基础1.概念JavaScript库 -> 提高编写效率 通过更少的代码实现更多的功能注意 -> JQuery能实现的功能JavaScript必定能实现 反之不可(灵活性不够)扩展: 原生态->复杂难度高 兼容性灵活性 VS 框架(工具)-> 开发效率高 固化规范jquery-1.12.4.js2.环境 -> 自行安排IDE : JetBrains WebStorm Broswer : Google Chrome分辨率 : 考虑因素3.语法原创 2021-03-09 21:11:36 · 93 阅读 · 0 评论 -
IDEA 2020 创建Maven(JavaEE)项目
第一步 下载Maven下载地址:http://maven.apache.org/download.cgi这里依旧是下载压缩包免安装的科普一下:tar.gz压缩格式用于unix操作系统,而zip用于windows的操作系统,但在windows系统中用解压工具(推荐bandizip)工具同样可以解压缩tar.gz格式的。下载完后解压安装在自己磁盘的目录下。第二步 配置Maven环境变量右击此电脑 -> 属性 -> 高级系统设置 -> 环境变量在”系统变量“中添加系统变量MA原创 2021-03-17 20:40:29 · 1667 阅读 · 0 评论 -
Java面向对象(八):常用类、枚举、注解
类常用类:System:系统类,为final最终类,继承Object,提供了标准的输入、输出、错误输出流,方法:System.currentTimeMillis();获取当前时间:毫秒值System.exit(0) ; 正常退出程序System.gc() ; 垃圾回收getProperty()方法获取系统属性。Date:日期时间,分为两个,一个是在util包下,一个是在sql包下(继承了util包下的Date类)两者是可以相互转换的。Util包下的Date类:java.util.Date原创 2021-01-09 19:06:54 · 131 阅读 · 0 评论 -
Java面向对象(七):异常
java中的异常分为两大类:Error 错误,严重的情况,一旦发生程序中无法处理。Exception 异常,运行时出现的非正常情况,一旦发生,可以对其进行处理。Throwable类是Java语言中所有错误和异常的Throwable类。两个子类的势力,Error和Exception。Error:不做详细说明Exception:----RuntimeException 运行时异常,也称为非检测异常,在程序中可以处理,也可以不处理的异常。----除了RuntimeException外,都是非运行时异原创 2021-01-09 17:26:12 · 172 阅读 · 0 评论 -
Java I/O流 深入浅出
学习感悟:在学习流的时候,要先有一个整体结构,先认识什么是输入和输出,要明白输入输出是相对于谁?然后理解四个抽象流(抽象类基类),在根据不同类型的流进行分类,最后再去详细学习基本流,其实流的学习是需要技巧的,按照前面说的思想去学习,就会发现,流都是有共同点的,就可以依葫芦画瓢,一个个击破。文件和目录– 在Java语言里,文件(File)代表的是文件和目录– 使用文件类File可以完成如下任务:• 创建新文件对象,可以使用相对路径和绝对路径来创建文件。• 不同系统的分隔符不一样的:– Windo原创 2021-01-09 17:05:59 · 81 阅读 · 0 评论 -
目录
analysis集合框架阿里巴巴短信验证码使用登录注册验证码的使用DTD使用说明Schema使用说明XML解析说明单例模式-程序员三十六计工厂模式-程序员三十六计代理模式-程序员三十六计建造者模式-程序员三十六计动态代理使用说明及应用Java反射技术应用Mybatis框架原理解析Mybatis框架代码生成器插件使用说明Spring框架IoC原理解析Spring框架AOP原理解析errorconfigeclipse配置DTDeclipse配置SchemaIDEA202原创 2021-04-12 11:38:49 · 143 阅读 · 1 评论 -
集合框架详细介绍
求求你别点我原创 2021-04-12 11:12:29 · 47 阅读 · 0 评论 -
为什么要用电子签章?电子签章怎么用?
随着国内互联网技术及配套法制的不断成熟,电子签章被广泛的应用于企业之中。电子签章 以网络环境为媒介,以数字签名、信息加密为核心,能够提升公司的工作效率,为企业实现印章管控可追溯、电子化、移动化。接下来就来看一下企业的电子签章能够带来哪些好处?1、满足签约需求。传统的、需要寄送纸质合同进行签约的协议达成方式显然不能满足高频、大量而分散的签约需求。而企业的电子签章是在网络上进行的,能够以极低成本快捷高效达成签约,随时随地都能签。因此,目前很多具有类似高频、大量、分散签约需求的在线商旅、O2O、B2B、第三.原创 2021-06-10 09:51:01 · 738 阅读 · 0 评论 -
布隆过滤器的原理
布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于测试一个元素是否是一个集合的成员。它的特点是高效的插入和查询,但是有一定的错误识别率和删除困难。布隆过滤器由Howard Bloom于1970年提出,它可以快速地检查一个元素是否在一个集合中,但是可能会有一些误报(false positives),即它可能会错误地认为某个元素在集合中,而实际上它不在。然而,布隆过滤器绝不会错误地认为某个元素不在集合中(没有误漏,或false negatives)。转载 2022-12-01 14:46:44 · 387 阅读 · 1 评论 -
解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题
对于单表查询是没有问题的。而需要多表关联查询(自写sql)时,就会查询调用Mybatis-Plus的方法是就就会出现查询总数不对问题。我这边业务比较复杂,是做项目的时候发现的问题,(本人比较懒)没有重新写demo。所以就不要太关注业务逻辑。只要知道符合条件的数据是69条。正常使用分页查询时的代码运行的查询sql后台日志打印情况可以看到Mybatis-Plus框架分页查询时,使用了两次查询,先查询总条数,再查询数据。而做了优化就是给第一个查询进行了优化(只查主表符合查询条件的总条数),这就导致两条查询s原创 2022-11-25 10:41:50 · 4167 阅读 · 2 评论 -
Seata 是什么?
在这种模式下,Seata 会拦截数据操作请求,记录数据在全局事务中的前后变化以支持事务的提交和回滚。Seata 的目标是通过简单的配置和低侵入性的编程模型来简化分布式事务的实现,从而允许开发者能够像使用本地事务一样容易地开发分布式事务。在微服务架构下,服务之间的调用和数据操作常常需要跨多个数据库、多个服务,传统的本地事务机制无法满足这种场景下的一致性需求,因此需要分布式事务来确保跨服务的操作能够保持数据一致性。: 事务协调器,是分布式事务的控制者,负责维护全局和分支事务的状态,驱动全局事务的提交或回滚。原创 2022-11-22 16:28:04 · 267 阅读 · 0 评论 -
Redis 分布式锁如何自动续期?
如果锁当前还是被占用的,那么等待释放锁的消息,具体实现使用了信号量 Semaphore 来阻塞线程,当锁释放并发布释放锁的消息后,信号量的增加 release() 方法会被调用,此时被信号量阻塞的等待队列中的一个线程就可以继续尝试获取锁了。如果这个锁的过期时间是30秒,但是业务运行超过了30秒,比如40秒,当业务运行到30秒的时候,锁过期了,其他客户端拿到了这个锁,怎么办。尝试获取锁,返回房间 null 则说明加锁成功,返回一个数值,则说明已经存在该锁,ttl 为锁的剩余存活时间。不能动不动就去续命。原创 2022-11-18 14:40:59 · 378 阅读 · 0 评论 -
什么是分布式锁?几种分布式锁分别是怎么实现的?
在选择分布式锁实现时,需要考虑锁的性能、可靠性、容错性等因素。而基于ZooKeeper或Etcd的锁则在性能上可能更有优势,但实现会相对复杂一些。Redis的锁实现简单且性能良好,但在面对极端情况时可能不够可靠,因此需要谨慎使用。分布式锁是在分布式系统中用于确保多个进程或多台机器在同一时间只能有一个在执行特定代码段的同步机制。在单个系统中,可以使用像是内置的互斥锁(如 Java 中的。)来实现线程同步,但在分布式系统中,需要跨多个进程或服务器协调锁的状态,这就需要分布式锁。原创 2022-11-17 16:31:08 · 111 阅读 · 0 评论 -
catch抛出异常finally还执行吗_你真的了解try、catch、finally吗
3、有返回值函数,如果在 finally 里面无返回值,且没有 catch 异常,则先执行 finally,再抛出异常。2、有返回值函数,如果在 finally 里面有返回值,[无论有没catch异常],都会正常返回,不抛异常。1、无返回值函数,如果没有 catch 异常,finally 代码块会执行,再抛出异常。原创 2022-11-16 17:24:20 · 1517 阅读 · 0 评论 -
java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDateTime and java.lang.String
这是由于== model.createDatetime!= ’ ’ ==的原因,createDatetime 是date或者localDateTime类型,不能用来这样createDatetime!= ’ ’ 比较,去除createDatetime!= ’ '问题解决。原创 2022-11-15 14:37:38 · 651 阅读 · 0 评论 -
mysql中find_in_set()函数的使用及in()用法详解
所以如果list是常量,则可以直接用IN, 否则要用find_in_set()函数。也就是这两个sql是查询的效果是相同的:但是如果第二句sql里面的值是传入sql的一个变量字段,那么第二句sql就不好使了。要以实际情况决定用in还是用 find_in_set()函数。所以如果list是常量,则可以直接用IN, 否则要用find_in_set()函数。以上所述是小编给大家介绍的mysql中find_in_set()函数的使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。原创 2022-11-15 14:26:40 · 1219 阅读 · 0 评论 -
LambdaQueryWrapper 的常用方法
是 Java 8 的方法引用语法,确保了类型安全,因为如果引用的字段名在实体类中不存在或者类型不匹配,那么在编译阶段就会报错。这样不仅代码可读性更好,而且减少了因字段名错误而引发的运行时错误。是 MyBatis Plus 中的一个功能,用于构建 lambda 表达式风格的查询条件,它提供了类型安全的条件构造器,可以减少编写字段名称的错误。类,提供了强大的条件构造能力,可以用于链式调用。通常与 MyBatis Plus 的。:字段IS NOT NULL。:模糊查询NOT LIKE。:字段IS NULL。原创 2022-10-28 11:14:37 · 545 阅读 · 0 评论 -
Java实现Excel导入和导出,看这一篇就够了(珍藏版)
在Java中实现Excel导入和导出功能,我们可以依赖像Apache POI这样的库,它是处理Microsoft Office文档格式的Java API。Apache POI支持老式的Excel格式(HSSF)和新式的Excel格式(XSSF)。下面是利用Apache POI进行Excel文件导入(读取)和导出(写入)的基本示例。转载 2022-09-29 16:32:24 · 342 阅读 · 0 评论