
java
...
sinat_36710456
这个作者很懒,什么都没留下…
展开
-
@Async异步失效
Spring对@Transactional注解时也有类似问题,Spring对扫描时具有@Transactional注解方法的类时,是生成一个代理类,由代理类去开启关闭事务,而在同一个类中,方法调用是在类体内执行的,Spring对无法截获这个方法调用。异步方法和调用方法一定要写在不同的类中 ,如果写在一个类中,是没有效果的!原创 2024-01-11 14:43:29 · 579 阅读 · 0 评论 -
idea查看行提交记录
idea行提交记录原创 2022-11-08 16:38:42 · 2417 阅读 · 0 评论 -
top+jstack分析cpu过高原因
top+jstack分析cpu过高原因原创 2022-10-10 18:19:01 · 1057 阅读 · 0 评论 -
PDM导出world、html
PowerDesigner导出world、html文件原创 2022-04-13 15:49:11 · 863 阅读 · 0 评论 -
idea svn 查看历史提交记录(Show History)很慢
取消勾选Show merge source in history and annotations原创 2022-02-28 17:23:15 · 2810 阅读 · 0 评论 -
idea调试tomcat服务debugger断点无效
解决办法:1.选中Shared memory2.勾选Show alternative sources switcher原创 2021-11-11 17:38:39 · 1635 阅读 · 0 评论 -
The string “--“ is not permitted within comments
报错The string "--" is not permitted within comments解决方法:<!--注释-->修改为( -- 加空格 -- )<!-- 注释 -->原创 2021-11-11 16:35:21 · 487 阅读 · 0 评论 -
jvm生成dump文件
一、 出现OOM时自动生成堆dumpJVM启动命令增加两个参数:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/home/app/dumps/二、人工通过执行指令,直接生成当前JVM的dump文件jmap -dump:format=b,file=/home/app/testdump.hprof 6218其中6218是JVM的当前进程号...原创 2021-07-02 15:41:02 · 455 阅读 · 0 评论 -
java一个byte字节可以存2个16进制字符
1个字节是8位(bit),xxxxxxxx ,范围从00000000 - 11111111,表示0到255。一个16进制字符(用二进制表示是xxxx)最多只表示到10进制的15(即对应16进制的F),要表示到255,就还需要第二位。所以1个字节=2个16进制字符,一个16进制位=0.5个字节。即:一个byte字节可以存2个16进制字符...原创 2021-07-02 11:31:02 · 1033 阅读 · 0 评论 -
java 堆与栈
数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,boolean引用类型包括:类类型,接口类型和数组。堆与栈堆和栈是程序运行的关键,很有必要把他们的关系说清楚。栈是运行时的单位,而堆是存储的单位。原创 2021-06-04 10:26:30 · 156 阅读 · 0 评论 -
StackOverFlowError与OutOfMemoryError
在《java虚拟机规范》规范中,对本地方法栈和虚拟机栈的使用中规定了两个异常:stackoverflowerror与outofmemoryerror,那么,这种异常有什么区别呢?无论是本地方法栈,还是虚拟机栈,都是线程私有的,当一个线程启动的时候,jvm就会给这个线程分配一个栈,然后每当你调用一个方法的时候,jvm就会往这个栈压入一个栈帧,方法调用完毕,栈帧出栈。注意,一个栈能容纳的栈帧是固定的,有默认的值,当然你也可以通过-Xss去调。但这个栈里面的引用所指向堆内存空间是可以扩展的。简而言之,一个栈的原创 2021-06-03 18:05:11 · 150 阅读 · 0 评论 -
三次握手与四次挥手
TCP连接的建立(三次握手)最开始的时候客户端和服务器都是处于CLOSED状态。主动打开连接的为客户端,被动打开连接的是服务器。TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(SYN=1的报文转载 2021-06-02 14:03:15 · 95 阅读 · 0 评论 -
FeignClient调用(url调用方式)不走ribbon 【feign超时时间】
配置文件# ribbon超时时间ribbon: ConnectTimeout: 3000 ReadTimeout: 3000# 开启hystrix熔断feign: hystrix: enabled: true# hystrix熔断hystrix: command: default: execution: isolation: thread: # 一般情况下 hystrix熔断时间 >原创 2021-04-21 16:51:39 · 1576 阅读 · 0 评论 -
引入sleuth zipkin依赖打印traceId
引入sleuth zipkin是怎么打印traceId的?<!--包含了sleuth+zipkin--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId></dependency>一直有个疑问,为什么引入sleuth+zipkin之后,日志原创 2021-03-11 15:59:40 · 1880 阅读 · 1 评论 -
logback日志打印配置
pom<!--包含了sleuth+zipkin--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId></dependency>logback.xml<?xml version="1.0" encoding="UTF-8"?&g原创 2021-03-11 15:21:43 · 386 阅读 · 1 评论 -
SpringCloud统一配置中心
转载:https://segmentfault.com/a/1190000018587707SpringCloud统一配置中心本篇简介通过上两篇的介绍我们已经掌握了SpringCloud中的注册中心组件Eureka以及服务间的调用方式RestTemplate和Feign。那么通过这两篇的内容,我们基本可以满足一些简单项目的开发需求了。但同样上述的项目架构还是有一些问题的。例如:不方便维护: 因为在公司开发项目时,是有多个团队多个成员同时开发的,这样就避免不了如果有人修改项目的..转载 2020-06-17 17:48:56 · 3484 阅读 · 0 评论 -
tomcate部署多个war包
说明:环境基于windows系统,linux配置相同。 #1.将war放在webapps目录下: manage_web_1.war manage_web_2.war 说明:tomcate启动时会自动解压webapps目录下的war包,不用手动解压,放入即可。#2.修改conf目录下的service.xml文件,新增如下配置,放在<Server&...原创 2019-01-28 18:31:56 · 4266 阅读 · 1 评论 -
tomcat部署war包的三种方式
第一种:非常简单,直接将 web 项目文件(一般是复制生成的war包)复制到tomcat的webapps目录中。第二种:在本地tomcat的conf目录中,新建Catalina/localhost目录(这里要注意文件名的大小写),然后在该目录下新建一个xml文件,名字不可以随意取,要和path后 的名字一致,我这里就应该是jstore.xml文件,它的具体内容为:<C...原创 2018-10-23 15:58:39 · 42061 阅读 · 6 评论 -
假如想要建设一个能承受500万PV/每天的网站,服务器每秒要处理多少个请求才能应对?
假如想要建设一个能承受500万PV/每天的网站,服务器每秒要处理多少个请求才能应对?如何计算?1、PV是什么:PV是page view的简写。PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv。2、计算模型: 每台服务器每秒处理请求的数量=((80%*总PV量)/(24小时*60分*60秒*40%)) / 服务器数量 。注:其中关键的参数是80%、40%。表示一天中有80...转载 2018-10-17 15:53:55 · 3671 阅读 · 0 评论 -
负载均衡方案
什么是负载均衡负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。 常见的负载均衡方案常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。可以看到,每一个下游都有多个上游调用,只需要做到,每一个上游都均匀访问每一个下游,就能实现“将请求...转载 2018-10-17 13:59:58 · 237 阅读 · 0 评论 -
关于消息队列的使用
关于消息队列的使用一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景...转载 2018-10-17 11:53:01 · 202 阅读 · 0 评论 -
服务器主动推送技术
传统模式的 Web 系统以客户端发出请求、服务器端响应的方式工作,服务端不能主动发送请求(消息)给客户端。这种方式并不能满足很多现实应用的需求,譬如: 监控系统:后台硬件热插拔、LED、温度、电压发生变化; 即时通信系统:其它用户登录、发送信息; 即时报价系统:后台数据库内容发生变化;这些应用都需要服务器能实时地将更新的信息传送到客户端...原创 2018-05-17 22:01:28 · 4399 阅读 · 0 评论 -
为什么会需要消息队列(MQ)?
为什么会需要消息队列(MQ)?##########################################################################主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MySQL,直接导致无数的行锁表锁,甚至最后请求会堆积过多,从而触发too m...转载 2018-03-23 20:27:57 · 1200 阅读 · 0 评论 -
大型网站技术架构(3):WEB 前端性能优化
上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器处理之前的部分,包括浏览器渲染、加载,前端视图模型,图片视频资源,CDN 服务等,主要优化方法就是优化浏览器访问渲染过程,使用反向代理,使用CDN 服务等浏览器访问渲染优化减少 ht...转载 2018-03-18 17:19:09 · 227 阅读 · 0 评论 -
大型网站技术架构(2):架构要素和高性能架构
上一篇我们把整个架构演变过程大致说了一下,这次我们来说说从哪方面进行考虑设计为了使网站的能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,我们可以选择横向或纵向两个方向来入手基本思路首先可以对整个架构进行分层,一般可以分为 应用层,服务层,数据层;实践中,大的分层结构中还可以继续分层,比如 应用层 还可以继续分为 视图层 和 业务逻辑层,服务层也可以继续细分为 数据接口...转载 2018-03-18 17:16:10 · 192 阅读 · 0 评论 -
大型网站技术架构(1)
网站都是从小网站一步一步发展为大型网站的,而这之中的挑战主要来自于庞大的用户、安全环境恶劣、高并发的访问和海量的数据,任何简单的业务处理,一旦需要处理数以 P 计的数据和面对数以亿计的用户时,问题就会变的很棘手下面我们就来说说这个演变过程:初始阶段大型网站都是由小型网站演变而来的,网站架构也一样小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样:应用程序、数...转载 2018-03-18 16:52:47 · 202 阅读 · 0 评论 -
网站集群架构搭建
转载 2017-11-27 20:50:40 · 1359 阅读 · 0 评论 -
动、静态网页服务器软件
静态网页服务器软件1.apach------中小型静态web服务器的主流,web服务器中的老大哥2.nginx------大型新兴静态web服务器的主流3.lighttpd 动态网页服务器软件1.IIS (Internet Information Server) ------微软web服务器主流2.tomcat------中小型动态web服务器3.resin--...原创 2017-11-27 20:20:00 · 448 阅读 · 0 评论 -
idea java1.5问题(找不到符号)
手动修改 *.iml文件将 JDK_1_5改为JDK_1_8原创 2021-03-04 10:49:49 · 116 阅读 · 1 评论 -
分布式唯一id
JAVA分布式唯一id生成。ID组成:时间戳 +机器节点id +序列号 (若当前毫秒的序列数已经达到最大,下一秒从0重新开始)原创 2021-02-26 17:52:45 · 241 阅读 · 1 评论 -
配置文件优先级
1.spring-config配置中心。端口80832.启动命令配置。端口80823.jar包中配置文件。8081【事实说话】项目启动最终所用端口:8083结论:配置中心的配置项优先级最高原创 2021-02-23 17:32:28 · 286 阅读 · 0 评论 -
阿里云部署项目报错 Communications link failure
报错ERROR com.alibaba.druid.pool.DruidDataSource - dataSource init errorcom.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not recei原创 2021-01-29 13:02:15 · 549 阅读 · 0 评论 -
JSESSIONID覆盖【shiro的session污染问题】
问题描述:一台机器上部署系统1和系统2,刷新系统1,系统2需要重新登录,刷新系统2,系统1需要重新登录。一台机器上部署系统1和系统2,刷新系统1,系统2需要重新登录,刷新系统2,系统1需要重新登录。问题分析:shiro是基于session会话的权限管理,那么浏览器打开一次就会产生一个session,在session活跃期间,只要你浏览器不关闭,session信息是一直有效的。其session信息是写在cookie里的。如果你是两个域的话,session信息不回互相干扰。但如果你是一个域问题就来了,系原创 2021-01-28 16:24:41 · 747 阅读 · 0 评论 -
日志中主动添加 TraceId
...MDC.put("X-B3-TraceId", UUID.randomUUID().toString().replaceAll("-", ""));...适用场景: 异步任务日志中不打印traceId原创 2020-11-20 17:39:41 · 1145 阅读 · 0 评论 -
手动创建线程池,效果会更好哦
看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式手动创建。原创 2020-07-09 10:05:04 · 3828 阅读 · 1 评论 -
SpringBoot中JavaMailSender注入失败
错误信息: 解决:配置文件中添加相关信息原创 2019-02-15 16:56:04 · 6341 阅读 · 0 评论 -
spring配置shiro
声明:本文已对原博客适当添改(亲测有效),便于本人理解。可通过底部链接访问原博客。 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Shiro 主要分为来个部分就是认证和授权,在个人感觉来看就是查询数据库做相应的判断而...转载 2019-01-23 10:38:32 · 249 阅读 · 0 评论 -
springboot配置swagger
增加请求不被拦截,"/swagger-ui.html" ,"/swagger-resources/**"方式1:配置POM.xml<!--swagger--><swagger.version>2.2.2</swagger.version> <dependency> <groupId>io转载 2018-11-07 17:47:25 · 405 阅读 · 0 评论 -
springboot多环境(dev、test、pro)配置
propertiest配置格式:在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如: application-dev.properties:开发环境 application-test.properties:测试环境 application-pro.pro...原创 2018-11-07 17:21:51 · 10516 阅读 · 1 评论 -
spring分页缓存
... @Cacheable(key = "'myPage_'+#pagePlus.current+'_'+#pagePlus.limit") public void cachePage(Page pagePlus) { }...原创 2018-10-18 16:01:43 · 2048 阅读 · 0 评论