- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 解决Java项目运行时错误:“Command line is too long”
在开发Java应用的过程中,你可能偶尔会遇到“Error running ‘Application’: Command line is too long”的问题。这是因为Java虚拟机(JVM)在启动时,如果传递给它的类路径(classpath)过长,超过了操作系统的命令行长度限制,就会抛出这个错误。尤其是在大型项目中,依赖库众多,导致classpath非常庞大,就可能出现这个问题。
2024-06-18 20:46:05
926
原创 TS学习(十) :TS中的type关键字
interface可以扩展,type可以通过交叉实现interface的extends行为,interface可以extends type,同时type也可以与interface类型交叉。1.类型别名可以用于其它类型 (联合类型、元组类型、基本类型(原始值)),interface不支持。3.type 能使用 in 关键字生成映射类型,但 interface 不行。2.interface 可以多次定义来合并声明,type 不支持。5.在type中可以使用泛型。4.默认导出方式不同。
2024-06-13 14:45:14
546
原创 TS学习(九) :TS中的泛型
泛型是指附属于函数、类、接口、类型别名之上的类型,当某个函数的参数,返回值和内部使用时的类型无法确定的情况下,就可以使用泛型来进行约束泛型相当于是一个类型变量,在定义时,无法预先知道具体的类型,可以使用该变量来代替,只有到调用时,才能确定它的类型很多时候,TS会只能的根据传递参数,推导泛型的具体类型,如果无法推导,并且又没有传递具体的类型,则会返回空对象的类型当然泛型也可以设置默认值,当没有传递时就使用默认值,就像js中函数中的参数一样设置默认值。
2024-06-10 19:23:52
690
原创 TS学习(八) :TS中的类
以前在js中书写类是这样的,然后我们在加上TS的类型检查你会发现报错了为什么呢?在TS中他认为你这样写代码不是很好,因为在TS中你把User这个类写出来以后,它里面有哪些属性和方法,你应该很清楚的知道,所以TS认为你这些属性应该单独在一个地方写,而不是使用构造函数constructor动态的创造数据,在js中是可以使用构造函数取动态添加数据,而在TS中是不允许的,TS认为在创建一个对象后是不允许取给对象添加属性的,由于动态添加属性,可能会存在一些隐患,所以TS是不允许我们动态添加属性的。
2024-06-10 19:16:13
523
原创 TS学习(七) :TS的接口与类型兼容
接口的作用用于约束对象、函数、类的契约(标准)契约 (标准) 的形式:API文档,弱标准,比如在开发之前,开发组长提前把一些开发文档给定义好了,但是在开发的过程中你可能不会按照文档的来进行规范,所以说API文档是弱标准代码约束,强标准:在代码中使用的标准就是接口:interface接口的使用与定义:接口约束和类型别名一样都不会参与运行interface 接口名字{ 属性:类型, name:sring, } let u: 接口名字={...} 2、定义函数方法。
2024-06-10 19:05:23
934
原创 TS学习(六) :TS的模块化使用
如果编译结果的模块化标准是ES6:没有区别如果编译结果的模块化标准是commonjs:导出:导出的声明会变成exports的属性,默认的导出会变成exports的default属性;导入:导入时给默认导出命的名字会变成,导出对象的default属性,而不是使用导入时的名字。
2024-06-10 18:50:24
766
原创 TS学习(五) :TS枚举的使用
这个时候如果有需求说不要用男女来表示,用其他的比如帅哥/美女,这样改的地方就会很多如 Gender ="帅哥" | "美女",被数字枚举约束的变量,可以直接赋值为数字,这样的方法不建议使用,这样又在使用真实值。像开发一些游戏的上下左右的操作可以用枚举,还有定义用户的性别也可以用枚举,2、逻辑含义和真实的值产生了混淆,会导致当修改真实值的时候,产生大量的修改。数字枚举的值会自动自增,如果第一个值不赋值,则第一个值为0,后面依次递增。使用枚举时,尽量使用枚举的字段名称,而不使用真实值。//枚举字段1=值1。
2024-06-10 18:34:50
351
原创 TS学习(四) :TS基本类型约束的使用
语法 type 类型名称 = 约束的东西先看一下代码let user:{name:string,age:number,gender:"男"|"女"|"未知"};function getUser(g: "男"|"女"|"未知"):{name:string,age:number,gender:"男"|"女"|"未知"}[]{//...return [];这个函数是获取的用户数据,首先参数有约束,返回值也有约束,咋一看没啥问题,确实没问题;但是看起来不太美观,而且有重复的东西;
2024-06-08 21:22:11
725
原创 TS学习(三) :怎么使用TS类型约束(如何使用TS)
有变量、函数的参数、函数的返回值;在定义变量时就先告诉它该变量是什么类型;在定义函数参数时约束参数的类型还有参数的返回值类型等;等到在使用这些变量、参数、返回值时就会进行类型检查,看你有没有违反约束。重声一下:TS是一个可选的静态类型系统,你可以使用也可以不使用不强求。仅需要在变量、函数的参数、函数的返回值位置上加上:类型。在参数后面加上约束类型;源代码和编译结果的差异。类型约可以约束什么?
2024-06-08 21:03:20
473
原创 TS学习(二) :安装ts与ts配置
如何执行nodemon命令:nodemon --exec ts-node src/需要执行的文件;意思是:当文件变化时(nodemon),去执行(exec),ts-node这个命令;但是这里会有一些不好的地方就是,不管你改变啥文件,它都会去监听然后重新编译,而我们只想改变ts文件保存时去编译,改变其他文件不去编译,这时我们就可以在nodemon 后面加上-e ts, 表示你要监控的文件扩展名是ts nodemon -e ts --exec ts-node src/需要执行的文件。
2024-06-08 20:42:52
519
原创 TS学习(一):ts的由来
使用了不存在的变量、函数或成员把一个不确定的类型当作一个确定的类型处理经常会出现使用null或undefined的成员。
2024-06-08 20:10:55
219
原创 Lambda(Java8函数式编程)
面向对象思想需要关注用什么对象完成什么事情。而函数式编程思想就类似于我们数学中的函数。它主要关注的是对数据进行了什么操作。优点: 代码简洁,开发快速;接近自然语言,易于理解;易于"并发编程"Lambda是JDK8中一个语法糖。可以看成是一种语法糖,他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了什么操作。Java8的Stream使用的是函数式编程模式,如同它的名字一样,它可以被用来对集合或数组进行链状流式的操作。
2024-05-29 13:12:56
583
原创 一文搞懂Java8 Lambda表达式、方法引用
5、在一个lambda表达式中使用this关键字,是指 创建这个lambda表达式的方法 所属的类 的this参数。如下代码,这里调用的是Application对象的toString方法,而不是ActionListener接口的实例对象的方法。
2024-05-29 11:55:55
753
原创 MyBatis-Plus这样实现动态SQL
需求1:根据作者名字和博客名字来查询博客!如果作者名字为空,那么只根据博客名字查询,反之,则根据作者名来查询select * from blog where title = #{title} and author = #{author}这样写我们可以看到,如果 author 等于 null,那么查询语句为 select * from user where title=#{title},但是如果title为空呢?那么查询语句为 select * from user where and autho
2024-05-16 14:13:04
1114
1
原创 MacOS M2:配置Tensorflow-GPU版
总的来说,配置Mac版本的Tensorflow只需要三步:第一步配置一个虚拟环境,建议选择miniconda;在Miniconda3中创建环境,存放在Miniconda3的env文件夹中。2)删除anaconda、miniconda、miniforge所在文件夹。注意:这一步以及后续的packages都是在虚拟环境 ***** 当中安装。如果不装这个包,后续将无法成功安装的Tensorflow包。
2023-11-25 16:18:31
1311
1
原创 限流神器Sentinel与nacos数据双向同步
在seintinel-dashboard要获取nacos配置中的配置数据,就是实现:DynamicRuleProvider接口,最后最重要的步骤是在你自已的应用里bootstrap.yaml中sentinel配置:下面是我的配置,主要是看。注意在你的应用pom中增加依赖库,
2023-03-31 21:46:25
1283
2
原创 Spring Boot 实现通用 Auth 认证的 4 种方式
好久没输出了,于是挑一个方面总结一下,希望在梳理过程中再了解一些其他的东西。由于 Java 繁荣的生态,下面每一个模块都有大量的文章专门讲述。所以我选了另外一个角度,从实际问题出发,将这些分散的知识串联起来,各位可以作为一个综述来看。各个模块的极致详细介绍,大家可以去翻官方文档或看网络上的其他博客。需求很简单清晰,跟产品们提的妖艳需求一点也不一样:在我们的 web 框架里添加一个通用的 appkey 白名单校验功能,希望它的扩展性更好一些。这个 web 框架是部门前驱者基于 spring-boot
2022-04-10 17:26:51
505
原创 spring security简介与使用
spring securityspring security使用目的:验证,授权,攻击防护。原理:创建大量的filter和interceptor来进行请求的验证和拦截,以此来达到安全的效果。新建一个springboot项目创建一个springboot项目,添加一个/helloController@RestControllerpublic class HelloController { @RequestMapping("/hello") public String h
2022-04-08 20:24:29
2156
原创 OAuth 2.0 概念及授权流程梳理
OAuth2 的概念OAuth是一个关于授权的开放网络标准,OAuth2是其2.0版本。它规定了四种操作流程(授权模式)来确保安全应用场景有第三方应用的接入、微服务鉴权互信、接入第三方平台、第一方密码登录等OAuth2授权模式OAuth2定义了四种授权模式(授权流程)来对资源的访问进行控制授权码模式(Authorization Code Grant) 隐式授权模式(Implicit Grant) 用户名密码模式(Resource Owner Password Credential
2022-04-07 17:10:04
2449
原创 java实现RSA的简单加密解密
RSAUtilpackage com.zhuyun.rsa; import java.io.IOException;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;import java.security.spec
2022-03-22 18:22:40
4925
1
原创 完全卸载nginx及安装的详细步骤
前言在开局配置Nginx时有可能会配置错误,报各种错误代码。看不懂或者懒得去看这个报错时,其实最简单的方式是卸载并重装咯。今天就带大家一起学习下,如何彻底卸载nginx程序。卸载nginx程序的详细步骤1、停止Nginx软件/usr/local/nginx/sbin/nginx -s stop如果不知道nginx安装路径,可以通过执行ps命令找到nginx程序的PID,然后kill其PID2、查找根下所有名字包含nginx的文件find / -name nginx3、.
2022-03-15 12:22:33
37595
6
原创 mysql5.7性能提升一百倍调优
全文中一共有常用的(事实上你如果花1-2周阅读、理解、自己动手设一下后是需要这么多参数的)76个参数,笔者把近10年里3个亿万级项目的数据库调优用此篇浓缩到了可能读者只需要2周时间就可以掌握,同时我是按照:每一个参数干吗?在某些典型硬件配置下的db上参数该设多少?设会怎么样?不设会怎么样?有什么坑如何填坑?有些参数怎么算、算法又如何这种style来写的,相信此篇会对一些使用mysql的尤其是正在或者将要面临万级并发的项目、网站有所帮助。具体请看文档!一千个DBA就有一千种配置方式!大
2022-03-13 20:05:49
1291
原创 JVM调优总结 -Xms -Xmx -Xmn -Xss
Xms 是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢。Xmx 是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。Xss 是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时运行等。以上三个参数的设置都是默认以Byte为单位的,也可以在数字后面添加[k/K]或者[m/M]来表示KB或者MB。而且,超过机器本身的内存大小
2022-02-23 18:00:21
25521
1
原创 Nginx 配置 SSL访问
1、生成密钥首先下载http://slproweb.com/products/Win32OpenSSL.html (根据系统选择32位或者64位版本下载安装),我下载的是:Win64OpenSSL_Light-1_1_1m.exe,然后执行命令openssl genrsa -des3 -out biznginxssl.key 10242、生成证书签名请求openssl req -new -key biznginxssl.key -out biznginxssl.csrEnt.
2022-02-23 16:26:24
450
原创 实战Springboot内置Tomcat配置调优
我们在使用springboot(版本:2.0.3.RELEASE)开发web项目时,大多数时候采用的是内置的Tomcat(当然也可以配置支持内置的jetty),内置Tomcat有什么好处呢?1、方便微服务部署,减少繁杂的配置2、方便项目启动,不需要单独下载web容器,如Tomcat,jetty等。#云服务器配置12核心,24G内存,java启动jar命令:nohup $JAVA_HOME/bin/java -server -Xms10240m -Xmx14336m -Xmn9216
2022-02-09 15:28:20
1732
原创 Windows上实现nginx的多负载,实现高可用,NLB 替代keepalived
NLB 就是网络负载平衡,windows Server 2012 中该功能允许你将传入的请求传播到最多达32台的服务器上,即可以使用最多32台服务器共同分担对外的网络请求服务。网络负载平衡,保证即使是在负载很重的情况下它们也能够在很快的时间内做出反应。网络负载平衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。网络负载平衡对外只须提供一个IP地址(或域名)。当网络负载平衡中的服务器故障,不可用时,网络负载平衡会自动检测到不可用的服务器,
2022-02-09 14:35:09
7719
3
原创 Nginx核心要领五:worker_processes、worker_connections设置
worker_processes与worker_connections 设置好合适大小,可以提示nginx处理性能,非常重要。原作者的话:As a general rule you need the only worker with large number of worker_connections, say 10,000 or 20,000.However, if nginx does CPU-intensive work as SSL or gzipping and you have 2 o
2022-02-09 14:11:16
2274
原创 Windows10 NGINX1.2.0.2 tomcat 负载均衡配置
直接上配置代码,打开nginx.conf文件,配置好后,启动nginx命令:start nginx如果要停止:nginx.exe -s quit#user nobody;worker_processes 1;error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events {
2022-02-09 00:46:43
172
原创 Windows10下安装解压版MySQL8.0.12
安装环境:Window10家庭版,64位数据库:MySQL8.0.12 64位安装方式:压缩包安装安装步骤:1、下载安装包从MySQL官网上下载最新的安装包:https://dev.mysql.com/downloads/file/?id=479669直接点击最下方的“No thanks, just start my download.”即可开始下载下载成功后的压缩包注:安装数据库时,登录用户必须拥有Administrator权限。2、将压缩包解压后放到将要安装的目录下解压后
2022-02-08 15:13:06
149
原创 SpringBoot+Shiro+Redis共享Session入门
在单机版的Springboot+Shiro的基础上,这次实现共享Session。这里没有自己写RedisManager、SessionDAO。用的 crazycake 写的开源插件pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2022-02-04 18:40:10
533
原创 使用命令行启动VirtualBox虚拟机
装上VirtualBox就琢磨着如何让它开机自动启动,又或者能够通过命令行的形式直接启动指定的虚拟机。看了下VirtualBox的官方文档,发现有一个命令可以满足我的需求,即VBoxManage。VBoxManage提供了一系列的虚拟机管理命令,包括创建/删除/启动/修改等等,这里不一一列举。有点像Xen的XM命令。不过这里只关心启动虚拟机的命令:VBoxManage startvm。VBoxManage的完整命令列表可以参考这里。VBoxManage startvm子命令可以开启一台状态为关
2021-11-06 14:50:18
2722
原创 Mysql5.7的初始化及配置(linux)
1.yum remove mariadb 卸载原先的 mariadb#把 mariadb 卸载,以免与编译的 mysql 产生冲突2.chown -R mysql:mysql /usr/local/mysql57#重新修改权限,目的是在初始化数据库时,确保 /data/mysql 目录是mysql 用户可读写的。3.提供配置文件, my.cnf 默认配置详情如下,可以自己建立[root@mysql-80 /usr/local/mysql57/bin]# cat /etc/my.cnf
2021-10-29 13:26:18
5227
原创 mysql5.7 在windows下的初始化
1、将目录添加到环境变量比如我是在PATH 中添加C:\MySQL5.7\bin2、建立一个MY.INI[mysqld]#设置3306端口port = 3306 # 设置mysql的安装目录basedir=C:\\MySQL5.7# 允许最大连接数max_connections=200# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine
2021-10-29 13:16:55
1115
原创 springBoot AOP @Before,@Around,@After,@AfterReturn,@AfterThrowing的理解
连接点(Joinpoint) :程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。——可以理解为被aop拦截的类或者方法就是连接点。通知(Advice) :通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。——可以理解为被注解有@Before等advice注解的安全校验的方法,拦截了过来的请求要做什么逻辑的校验。切入点(Pointcut) :通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,
2021-08-31 11:05:20
2751
1
原创 spring security OAuth2AuthenticationProcessingFilter的token认证流程解析
从@ResourceServer 注解进去可以看到导入了ResourceServerConfiguration这个类,我们来看这个配置初始化了一些配置,后面会用到。protected void configure(HttpSecurity http) throws Exception {//新增一个ResourceServerSecurityConfigurer,这个是重点。 ResourceServerSecurityConfigurer resources = new ResourceSe
2021-08-27 21:47:39
1192
原创 Kubernetes K8S 之 Ingress详解
主机配置规划服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟)k8s-master CentOS7.7 2C/4G/20G 172.16.1.110 10.0.0.110k8s-node01 CentOS7.7 2C/4G/20G 172.16.1.111 10.0.0.111k8s-node02 CentOS7.7 2C/4G/20G 172.16.1.112 10....
2021-07-30 14:25:29
1263
原创 MySQL5.7开启binlog日志及其他相关操作
1、相关命令 1)查看是否开启 binlog日志(默认不开启,log_bin值为OF)及日志位置 show variables like '%log_bin%'; 2)查看产生的 日志文件。 show binary logs; 3)查看当前使用的日志文件,即记录操作的最后一个日志文件 show master status; 4)查看日志事件信息 ,开始、结束操作位置等 show binlog events; 5)查看mysql-bin.000
2021-04-24 12:47:45
1135
Struts Taglibs-chm.chm
2009-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人