- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 阿里云OSS 文件上传下载代码官方demo
简单上传是指通过PutObject方法上传单个文件(Object)。简单上传包括流式上传和文件上传,流式上传使用InputStream作为OSS文件的数据源,文件上传使用本地文件作为OSS文件的数据源。本文介绍如何使用流式上传和文件上传方式上传文件。
2022-09-08 10:19:59
2842
原创 DENIED Redis is running in protected mode because protected mode is enabled
错误信息: 这个是我们做系统之间免登录跳转测试,把项目部署在阿里ECS服务器,启动了redis。本地项目启动连接的时候报错。解决方法:修改服务器的redis.conf 如下图:红线的地方修改。 重启redis 一定要加上redis.conf./redis-server /opt/app/redis-6.2.6/redis.conf...
2022-06-27 11:49:56
741
原创 linux 系统时间乱码, TOMCAT日志中文乱码
最近老项目上云换容器发现tomcat的catalina.out汉字乱码,查看、tomcat/conf/log.properties 里面配置的都是UTF-8LINU系统也是UTF-8 但是乱码解决不了,改了etc/profile改成UTF-8没用。后面把系统编码和tomcat全部改为GBK解决:tomcat/conf/log.properties 改为GBK系统;修改完成后执行生效TOMCAT重启再看日志 解决...
2022-06-22 17:12:09
1613
1
原创 JDK JVM 性能调优监控工具 GC调优
Jinfo查看正在运行的Java程序的扩展参数查看JVM的参数首先我们可以用TOP找到ID,一般也会用TOP简单看下服务器内存 CPU使用情况。上面我们找到了PID 往下看,输入:jinfo -flags 29599可以看到JVM参数:复制出来一下Debugger attached successfully.Server compiler detected.JVM version is 20.45-b01-Xms2048m -Xmx2048m -XX:...
2020-11-20 11:23:17
306
原创 CountdownLatch 使用两个demo
CountDownLatch 概念CountDownLatch在多线程并发编程中充当一个计时器的功能,并且维护一个count的变量,并且其操作都是原子操作,该类主要通过countDown()和await()两个方法实现功能的,首先通过建立CountDownLatch对象,并且传入参数即为count初始值。如果一个线程调用了await()方法,那么这个线程便进入阻塞状态,并进入阻塞队列。如果一个线程调用了countDown()方法,则会使count-1;当count的值为0时,这时候阻塞队列中调用aw..
2020-11-20 10:10:28
346
原创 HTTP请求 可执行 demo
package com.example.test;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.MalformedURLException;import java.net.ProtocolException;import java.net.
2020-11-20 10:00:02
227
原创 双亲委派 打破双亲委派
双亲委派如果一个类加载器收到了加载某个类的请求,则该类加载器并不会去加载该类,而是把这个请求委派给父类加载器,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的启动类加载器;只有当父类加载器在其搜索范围内无法找到所需的类,并将该结果反馈给子类加载器,子类加载器会尝试去自己加载。打破双亲委派因为在某些情况下父类加载器需要委托子类加载器去加载class文件。受到加载范围的限制,父类加载器无法加载到需要的文件,以Driver接口为例,由于Driver接口定义在jdk当中..
2020-11-19 22:22:31
130
原创 SPI
是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制
2020-11-19 22:17:00
133
原创 类加载器加载地址 直接运行
import sun.misc.Launcher;import java.net.URL;import java.net.URLClassLoader;import java.util.Arrays;public class MyTestbootStrap { public static void main(String[] args) { //启动类加载器 System.out.println("启动类加载器================================");..
2020-11-19 22:14:08
157
原创 2020-11-05 系统之间的数据交互
我常用的系统之间的数据交互方式有:1.HTTP 这个现在比较多,一般数据是JSON/XML格式2.WEBSERVICE 传统互联网金融银行保险用的比较多,电商好像基本不用3.socket 用的比较少了 老旧项目用的多4.SFTP/FTP 现在因为安全问题一般都是使用SFTP5.系统之间共用数据库可能会数据库直接授权。6.有些服务集群可能会有共享磁盘,大家都有权限去读写。7.MQ8.集群有时候中间会过一道NGINX APACHE 之类的下面放一个http例子:pa..
2020-11-05 10:13:31
1722
原创 Java虚拟机基础
java虚拟机(java virtual machine,JVM),一种能够运行java字节码的虚拟机。作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件匹配JVM对加载编译文件格式要求,任何语言都可以由JVM编译运行。比如kotlin、scala等。JVM的基本结构JVM由三个主要的子系统构成1.类加载子系统 启动类加载器(Bootstrap ClassLoader)负责加载JRE的核心类库,如JRE目标下的rt.jar,char...
2020-11-04 10:24:15
236
原创 认识Redis
Redis1.概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。2.特征:数据间没有必然的关联关系内部采用单线程机制进行工作高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。多数据类型支持 字符串类型 string 列表类型 list 散列类型 hash 集合类型 set 有序集合类型 sorted_set持
2020-06-03 22:21:35
141
JVM思维导图(包含所有JVM知识)
2022-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人