
Java Web
文章平均质量分 84
困知勉行1985
学而时习之,不亦说乎
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringMVC POST请求传参 属性名字母大写注入失败解决方案
SpringMVC POST请求传参,首字母大写传参失败原创 2024-02-22 16:59:15 · 1078 阅读 · 0 评论 -
Redis并发问题解决方案
Redis并发问题解决方案,分布式锁,原子操作,事务,虽然能解决并发问题,但是后2者不能完全保证数据一致性,因为都没有失败回滚原创 2023-11-23 11:30:33 · 3333 阅读 · 0 评论 -
Lambda表达式的性能分析与使用限制
Lambda表达式的优缺点原创 2023-11-17 10:24:21 · 796 阅读 · 0 评论 -
Springboot 使用JavaMailSender发送邮件 + Excel附件
Spring自带的JavaMailSender发送邮件,并且带附件原创 2023-10-27 17:15:51 · 3536 阅读 · 0 评论 -
EasyPoi导入Excel中的图片,空指针异常
easypoi到excel表格中的图片时,报空指针异常原创 2023-06-26 17:05:10 · 3301 阅读 · 0 评论 -
java web 常见问题总结-包括IDEA内存设置
java web常见问题总结原创 2023-05-29 17:46:41 · 275 阅读 · 0 评论 -
关于java web系统设计的一些点的思考总结
1.怎样提高数据库的读写能力?以Mysql,MongoDB为例,思想还是分流提高读能力:主从复制,读写分离。集群中所有数据库数据是相同的,读请求被分流到集群中的任何一个数据库,这样自然增加了读能力。但是增加从数据库并不能增加写能力,反而在一定程度上降低了主数据的写能力,因为写操作都是在主数据库中进行的,每增加一个从数据库,从数据库要从主数据库同步数据,这样会占用主数据IO,从而降低主数据库写IO操作性能。 提高写能力:主从集群不能提高写能力,那么可以通过分片集群的方式分流写操作,从而同时提高写能力原创 2022-05-14 09:11:03 · 410 阅读 · 0 评论 -
SpringBoot实现Excel导入导出,简单好用
Springboot集成EasyPoi原创 2023-03-03 17:17:24 · 3559 阅读 · 2 评论 -
数据库锁 与 事务隔离级别
数据库中有读锁和写锁默认的select语句有锁吗?这个得看数据库引擎的事务的隔离级别。事务的隔离级别与锁的关系:没有隔离级别(不加事务???不对,应该是开启了事务,但是没有隔离级别),这个时候会发生脏写问题: 两个线程操作同一条数据,对其进行更新操作,更新会被覆盖。怎么解决这个问题呢? 应该要通过加写锁(X锁)去解决问题,而且应该是在 Read UnCommit这个隔离级别去解决的 Read UnCommit级别:这个级别应该是解决了脏写的问题(通过加写锁解决的? ??这个结论有待确认).原创 2022-02-27 16:43:25 · 2124 阅读 · 0 评论 -
SpringCloud启动失败汇总
1.Nacos配置读取失败org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:218) ~[snakeyaml-1.27.jar!/:na] at org.yaml.snakeyaml.re原创 2022-02-24 15:54:24 · 1689 阅读 · 0 评论 -
centos7 安装seata + springboot配置
实际上只是部署一个单例的Seata,但是仍然按照集群的方式去配置。Seata的高可用依赖于注册中心、配置中心和数据库来实现;因此我们需要修改相关的配置。下面我们以nacos(注册中心和配置中心)和MySQL为例子,Seata-Server使用注册中心进行集群间的通信,同时将事务数据保存到数据库中让整个集群统一使用事务信息。关于nacos安装,请参考:centos7 部署nacos_wdquan19851029的专栏-优快云博客1.安装mysql数据库本文使用yum安装首先添加mysql 的原创 2022-01-28 11:30:54 · 5132 阅读 · 0 评论 -
centos7 部署nacos
1.安装JDKjdk压缩包解压(自己去下载):tar zxvf jdk1.8.0_181.tar配置环境变量:修改/etc/profile文件,在文件最后加上:export JAVA_HOME=/usr/local/jdk1.8.0_181export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar使配置生效:source /etc.原创 2022-01-27 14:09:55 · 6873 阅读 · 1 评论 -
centos7 安装使用SkyWalking
1.搭建ES在本文中,我们需要将skywalking采集到的数据导入到ES中,所以需要首先安装ES,我们用的是ES集群。ES集群搭建文档:华为云contos7系统部署ES集群--3个主节点_wdquan19851029的专栏-优快云博客ES单机搭建文档 :centos7安装ELK-单机版_wdquan19851029的专栏-优快云博客2.搭建Skywalking有了ES之后,我们开始搭建Skywalking。1.解压skywalking压缩包tar zxvfapac..原创 2022-01-27 10:28:56 · 4917 阅读 · 0 评论 -
centos7安装ELK-单机版
前言:首先要有一个全面的认识,什么是ELK?Elastic Stack也就是ELK,ELK是三款软件的集合,分别是Elasticsearch,logstas,Kibana,在发展过程中,有了新的成员Beats加入,所以就形成了Elastic Starck.也是就是说ELK是旧的称呼,Elastic Stack是新的名字。先通过Beats采集一切的数据如日志文件,网络流量,Win事件日志,服务指标,健康检查等,然后把数据发送给elasticsearch保存起来,也可以发送给logstas处理然后再原创 2022-01-26 16:26:26 · 22029 阅读 · 0 评论 -
java面试知识点总结
记录一下可能被问到的知识点1.spring源码,用到了哪些设计模式2.JVM优化: 预优化、卡顿、出问题怎么办,还有就是做过什么优化,举例说明3.写到简历里的东西,最好都做好相关知识点的准备,如果被问到,却答不上来,会很尴尬4...................................................原创 2021-10-21 21:43:40 · 1662 阅读 · 0 评论 -
华为云contos7系统部署ES集群--3个主节点
一、集群部署1.ES集群的基本核心概念Cluster集群 一个ElasticSearch集群由一个或多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识。Node节点 一个ElasticSearch实例即一个Node,一台机器可以有多个实例,正常使用下每个实例应该会部署在不同机器上。ElasticSearch的配置文件中可以通过node.master、node.data来设置节点类型。node.master:表示节点是否具有成为主节点的资格true代表的是有资格竞选主节点原创 2022-01-20 11:45:35 · 5482 阅读 · 0 评论 -
Maven编译 Fatal error compiling: 无效的目标发行版: 11
安装了Java11后,用其编译多个Springboot工程,老是失败,后来发现所有工程指定了java版本为java8,于是乎卸载了java11,安装了java8,再去编译。其中某个工程在之前用java11编译的时候没有任何问题, 但是换成java8后出现了以下错误:具体信息:F:\Digital marketing\workspace-scrm\workspace-scrm\wit-gateway-app>mvn clean install package -Dmaven.test.原创 2022-01-12 09:20:54 · 10535 阅读 · 0 评论 -
跨站请求伪造CSRF引发的思考Cookie、Session、Token和JWT
目录1.最重要的问题:CSRF攻击是怎样跨域拿到cookie的?2.CSRF 跨站伪造请求3.Cookie和Session4.Cookie和Session的区别5.什么是Token(重点)仅仅用seesion+cookie存在的问题【疑问?】token放在客户端哪里?客户端是怎么每次取到token的6.JSON Web Token(JWT)Token和JWT:1.最重要的问题:CSRF攻击是怎样跨域拿到cookie的?【疑问?】浏览器对于 cookie原创 2021-12-27 16:40:17 · 5696 阅读 · 0 评论 -
servlet面试相关
1.什么是servlet?Servlet是sun公司提供的一门用于开发动态web资源的技术。Sun公司在其API中提供了一个servlet接口,开发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:1、编写一个Java类,实现servlet接口。2、把开发好的Java类部署到web服务器中(servlet容器,例如经典的tomcat)。按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet2.Servlet与普通原创 2021-09-30 17:26:09 · 242 阅读 · 0 评论 -
java异常简单总结
java异常指在程序运行时出现的一些错误,中断了正在执行的程序的正常流程,也就是说只要发生异常,程序都会被打断。常见的异常例如IO异常(文件找不到FileNotFoundException、网络连接失败)、空指针异常、数组越界、NoClassDefFoundError等。Java通过API中Throwable类的众多子类描述各种不同的异常,因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的错误信息。Java所有异常类都是 Throwable的子类,它包括了Ja.原创 2021-09-26 14:38:38 · 174 阅读 · 0 评论 -
LockSupport 研究总结
在没有LockSupport以前,线程的等待与唤醒是要靠Synchronized的wait/notify,和Lock(例如基于AQS的ReentrantLock)的await/signal,但是这两种锁的等待与唤醒有两种限制:等待与唤醒操作 必须在锁的代码块内 唤醒操作必须在等待操作之前,否则线程将永远等待下去,无法被唤醒LockSupport的park、unpark的作用类似于wait/notify的作用,但是功能更加强大,突破了wait/notify以及await/signal的两个限制。L原创 2021-09-15 17:26:52 · 179 阅读 · 0 评论 -
java web - springboot集成Keycloak + 前端开发环境
这篇文章将会包括建立一个Keycloak server,springboot怎样连接Keycloak,以及怎样跟Spring Security搭配使用。1.什么是Keycloak?Keycloak是一个面向现代应用和服务的开源的身份和访问管理解决方案。Keycloak提供了诸如单点登录(SSO)、身份代理和社交登录、用户联合、客户端适配器、管理控制台和帐户管理控制台等功能。想了解更多关于Keycloak的信息,请访问官方页面https://www.keycloak.org/。本文将使用管理控制台原创 2021-01-13 22:14:12 · 4189 阅读 · 0 评论 -
Mybatis-plus 主键生成策略之主键自增问题
Mybatis-plus提供了多种主键生成策略, 可以在Pojo类中主键上加注解进行配置,例如数据库主键自增 @TableId(type=IdType.AUTO)IdType包括以下几类:AUTO : 数据库主键自增 INPUT: 用户自行输入 ID_WORKER: 分布式全局唯一ID, 长整型 UUID: 32位UUID字符串 NONE: 无状态 ID_WORKER_STR: 分布式全局唯一ID 字符串类型单一应用时,我们一般设置主键自增,即使用@TableId(type=IdTy原创 2021-01-06 16:30:43 · 10109 阅读 · 6 评论 -
分布式事务JTA/XA atomikos -- 基于springboot的Dubbo + 动态数据源 + mybatis-plus
本文code地址:https://github.com/wdquan1985/dubbo-dynamicDatasource-jtaAtomikos原创 2021-01-05 11:45:39 · 2341 阅读 · 1 评论 -
Failed to configure a DataSource: ‘url’ attribute is not specified
转载: https://www.yawintutor.com/failed-to-configure-a-datasource-failed-to-determine-a-suitable-driver-class/原创 2020-12-22 15:46:13 · 20537 阅读 · 3 评论 -
在图像中剪切圆形图片
在前端开发中,我们经常需要使用到圆形的图片,下面的在线工具可以帮助我们快速得到圆形图片。在线工具:https://crop-circle.imageonline.co/cn/, 当然了,这个在线工具还有很多其它功能,有兴趣的可以进一步研究。该在线工具可以从方形图片中,截取圆形部分。选择图中的“在图像中剪切圆圈”右侧是剪切出来的圆圈,我们可以下载使用它。...原创 2020-12-28 22:21:41 · 3030 阅读 · 2 评论 -
Springboot 启动多个实例
在eclipse中开发的时候,想做负载均衡条件下的测试,需要将同一个工程启动为多个实例,怎么办呢?(1). 修改application.properties中的server.port,修改为不同的启动端口,然后启动一个实例,再修改再启动一个新的,这样就会启动很多实例。(2). 如果集成了dubbo, 假定RPC使用dobbo协议,dubbo.protocol.name=dubbo,还要修改协议的接口,即dubbo.protocol.port属性,因为每个实例的RPC协议都要在注册中心注册,每个实例的原创 2020-12-15 10:40:03 · 1492 阅读 · 0 评论 -
SpringMVC 参数接收
@RequestParam 和 @PathVariable 注解是我们在SpringMVC中最常用的接收http request参数的注解。Java Bean1.当客户端发起http POST请求的时候,经常以JSON格式发送参数(Request Body中),这时候请求参数过多,以对象的方式传递参数,SpringMVC使用对应的java bean接收这样的参数{"userName":"admin","password": "admin","phone":"13678965789",原创 2020-12-29 14:47:02 · 3423 阅读 · 0 评论