Java笔记
文章平均质量分 52
江畔独步寻欢
这个作者很懒,什么都没留下…
展开
-
双亲委派机制梳理
双亲委派机制1.向上委派 类加载器收到类加载请求时,会将加载请求委派给父加载器,父加载器用loadClass方法来检查自己是否加载,有则无需加载,没有则继续向上委派,直到引导类加载BootStrap ClassLoader.2.向下加载 当类加载请求委派到引导类加载BootStrap ClassLoader后,会检查该Class文件是否在自己的加载路径中,如果找到则加载,如果找不到,则会向子类加载器委派加载请求,直到这个加载请求被成功加载,如果到最下层加载器依然无法加载,则会抛出ClassNot原创 2021-05-26 14:44:12 · 70 阅读 · 0 评论 -
Java中的取余和取模
假设有两个数,x和y,分别对其进行取余和取模取余:绝对值取余后,将x的正负号赋值给结果;取模: 第一种:(x*y>0) :x和y都是正值或者都是负值结果等于:取y的正负号再加上x和y的绝对值取余结果result = y > 0 ? - |x| % |y| : |x| % |y| 第二种:** (x*y<0) :x或者y有一个是负值|y|- (x和y的绝对值取余结果),将y的正负号赋给结果result = y > 0 ? |y| - |x|原创 2021-03-31 14:34:54 · 207 阅读 · 0 评论 -
i++的实验笔记
i++存在线程安全问题,即使加了volatile关键字修饰i也没用,因为i++本身不是原子性操作,而且volatile也不保证原子性;++i和i++看下面这个例子:public static void main(String[] args) throws InterruptedException { int x = 0; while (true) { System.out.println("循环第" + x++ + "次");原创 2021-03-30 10:29:57 · 58 阅读 · 0 评论 -
Java获得int类型随机数的几种方式
第一种:(int)Math.random()*n得到的是 [0,n) 的int值第二种:new Random().nextInt(n)一样可以得到 [0,n) 的int值参考博文:https://blog.csdn.net/qq_21808961/article/details/79931087?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_原创 2021-03-29 17:32:01 · 996 阅读 · 0 评论 -
Linux服务器使用Docker搭建FastDFS服务完整教程
1. 拉取season/fastdfs镜像season/fastdfs镜像是dockerhub上下载量和星数最高的镜像,所以这里选择season/fastdfs来搭建文件管理系统。docker pull season/fastdfs:1.2补充:这里注意一定要用1.2不要用图中我第一次下载的latest版本,最新的版本中存储服务器storage默认已经没有nginx模块了2.为挂载数据卷创建目录mkdir -p /usr/local/server/fastdfs/tracker/data原创 2021-03-04 21:02:21 · 1113 阅读 · 1 评论 -
docker部署springboot项目无法访问,且不报404错误
记录docker部署springboot项目时出现的两个错误:1.在容器中启动程序后,访问不到服务器内容,甚至没有404错误。原因:容器与宿主机没有做端口映射,所以相当于访问了一个双层lock box时候,只凭一把钥匙无法访问到最里面容器的内容,例如下图中,客户端可以访问到宿主机,但宿主机无法与容器通过端口通信,因为没有做端口映射。2.在使用build命令根据dockerfile创建image时,拉取FROM关键字指定的父镜像时候失败。因为docker安装后默认是从hub.docker库下载镜像,国原创 2021-02-22 21:44:03 · 2338 阅读 · 0 评论 -
docker入门总结
启动Docker:systemctl start docker查看Docker状态:systemctl status docker停止Docker服务:systemctl stop docker重启Docker服务:systemctl restart docker设置开机启动Docker:systemctl enable docker查看本地镜像:docker images查看本地镜像的ID:docker images -q搜索镜像:docker search [Mirror_原创 2021-02-22 14:15:12 · 96 阅读 · 0 评论 -
@Controller和@RestController区别
@Controller标注类中的方法会以return的结果去跳转到对应的视图(jsp、html),没有则404@RestController相当于@Response+@Controller直接在页面中把return的对象以json格式解析后的结果显示出来;原创 2021-01-21 11:44:50 · 66 阅读 · 0 评论 -
RabbitMQ简单的归纳总结
**RabbitMQ架构图**(这个图对于理解rabbitmq非常有用~)提供方消息提供方发送消息给RabbitMQ(Server端),server会根据你channel连接到的虚拟机来去找交换机,交换机拿到消息后会根据设置的routingKey把消息推送到符合规则的Queue,换句话说,交换机的职责就是把信息推送到queue,并不储存信息。这种映射关系是通过队列和交换机绑定的方式来实现的。简单的过程如下1.声明交换机和队列;2.声明绑定关系:把队列绑定到交换机上(意思就是把哪些队列的消原创 2020-12-24 11:43:05 · 80 阅读 · 1 评论 -
使用FileZilla上传和下载远程Linux服务器文件
1.首先去官网下载对应的windows版本https://www.filezilla.cn/2.打开之后添加站点这里选SFTP协议之后会弹窗问你是否需要信任当前主机,信任一次还是保存并信任,一般都选第二个save。ps:如果登录被拒绝,说明远程登录权限未开通,参考我另外一篇博文https://blog.csdn.net/weixin_43965961/article/details/110229959...原创 2020-12-10 13:51:30 · 621 阅读 · 0 评论 -
阿里云Linux服务器上安装dubbo-admin管理控制台
1.安装JDK环境参考我的另一篇博文https://blog.csdn.net/weixin_43965961/article/details/1099899662.安装Tomcathttps://tomcat.apache.org/download-80.cgi下载好tomcat.tar.gz包后,使用FileZilla工具上传到/usr/local/目录下,tar -zxvf 命令解压缩后,***mv***命令更改名字为tomcat8.53.将dubbo-admin.war包放在tomcat原创 2020-12-10 13:33:04 · 260 阅读 · 0 评论 -
云实例(Linux)安装mysql
1.执行以下命令,下载并安装MySQL官方的Yum Repository。wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum -y install mysql57-community-release-el7-10.noarch.rpmyum -y install mysql-community-server2. 执行以下命令,启动 MySQL 数据库。service mysqld start原创 2020-12-02 10:14:54 · 179 阅读 · 0 评论 -
Dubbo入门遇到的坑
1.用root用户解压的zookeeper文件,文件是root属性,导致后续服务注册不了。解决方案:chgrp 777 apache-zookeeper-3.5.8 -Cchmod 777 apache-zookeeper-3.5.8 -C-C 说明:最小惊奇法则,这里采用大写C表示递归变更目标文件及其子文件。2.dubbo 报错 Connection timed out: no further informationjava.net.ConnectException: Connect原创 2020-11-30 09:55:56 · 111 阅读 · 0 评论 -
谷歌云服务器如何通过Putty/SecureCRT远程登录
一、修改ssh配置文件并设置root密码1.首先使用Google Cloud SSH登录VPS这里以谷歌云为例,阿里云同如下,后续操作都一样2.切换到root账户sudo-i3.编辑ssh配置文件vim/etc/ssh/sshd_config4.修改以下内容即可按键盘【i】进入编辑,按【Esc】退出编辑,再输入:wq保存并退出基本参数:PermitRootLogin yes #允许root认证登录PasswordAuthentication yes #允许密码认原创 2020-11-27 14:12:38 · 1117 阅读 · 0 评论 -
阿里云服务器CentOS.7.8系统安装JDK1.8教程
1.下载Linux版本的JDK,官网1.8下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html2.通过FTP上传到Linux服务器中,执行解压缩命令:tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local/3.设置系统常量切换到root用户,使用 vim /etc/profile 命令编辑,末尾追加如下字段export JAVA_HOME=/us原创 2020-11-23 11:11:24 · 370 阅读 · 0 评论 -
向指定Url发送POST请求的两种解决方案
import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http原创 2020-09-18 18:07:59 · 9717 阅读 · 0 评论 -
(多种办法)解决高版本mysql时区不一致性问题
错误信息:【警告: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@4e61f1ed -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to s...原创 2020-09-14 10:38:37 · 215 阅读 · 0 评论 -
Java实现DES/ECB/PKCS7Padding加密算法
DES/ECB/PKCS7Padding加密算法:在Java开发中,用到的DES的ECB加密模式、PKCS7Padding填充方式,Java目前仅支持PKCS5Padding填充模式,问题描述java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/CBC/PKCS7Padding问题分析java默认支持是PKCS5Padding填充方式 。目前Java要实现PKCS7Padding填充模式的加原创 2020-09-14 10:29:27 · 5184 阅读 · 6 评论