切换阿里云Maven的仓库提升编译速度
星期六, 2022-01-08 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 478 views
1.更多配置可以可以参考阿里云云效 Maven https://developer.aliyun.com/mvn/guide
2.通常配置如下:修改Maven的settings.xml文件
<mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public/</url> </mirror> </mirrors> |
2.或者直接在pom.xml文件中更换
<repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories> |
Mac下遭遇JDK-11.0.1.jdk已经损坏,无法打开修复
星期一, 2021-12-13 | Author: Lee | JAVA-and-J2EE, mac | 没有评论 925 views
1.其实不是文件损坏,而是mac的权限管控问题
2.系统偏好设置-安全性和隐私 授予任何程序执行
3.使用对应命令解决
sudo xattr -rc /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/ ./bin/java -version |
centos7安装docker和docker compose快速指引
星期三, 2021-12-01 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 483 views
1. 安装之前,先清除之前安装的旧版本docker
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine |
2. 使用 repository 安装 docker ce
##安装基础依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 不建议// sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ## 官方给出的源,国内比较慢,可以用阿里源替代 ## 阿里源,国内速度优先 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ## 如果想安装指定版本的docker-ce,可以先用命令查看版本号 sudo yum list docker-ce --showduplicates | sort -r ## 直接运行会默认安装最新版 sudo yum install docker-ce ## 安装指定版本,例如:yum install docker-ce-20.10.11 sudo yum install docker-ce-<version STRING> ###创建配置信息 sudo mkdir /etc/docker sudo cat > /etc/docker/daemon.json <<eof { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF |
3. 安装 docker-compose不使用pip安装,直接用编译好的
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose |
上面安装的是稳定版本1.29.2的 docker-compose,可以到github上找最新版 https://github.com/docker/compose/releases
配置docker-compose命令关联
› 继续阅读
spring.config.location启动的参数不互补可以使用spring.config.additional-location
星期六, 2021-11-27 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 983 views
0.先说下springboot版本为2.5.7,location的会优先使用不再使用打包文件中的配置文件
详情见官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#features.external-config.files
解决办法是:
java -jar -Dspring.config.location=/apps/config/app.properties /app/serverless/app.jar & ###替换一下即可 java -jar -Dspring.config.additional-location=/apps/config/app.properties /app/serverless/app.jar & |
1.起因需要给应用加上build time和version对应的版本号
这些参数可以在mvn的时候直接生成出来,但是在配置文件中将无法配置
先把这个做下记录
2.在pom.xml文件的properties中添加如下内容
<properties> <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format> <!--maven.build.timestamp保存了maven编译时间戳--> <timestamp>${maven.build.timestamp}</timestamp> </properties> ### 在pom.xml的build中添加如下内容,使properties能取到pom.xml中的数据 <resources> <resource> <directory>src/main/resources/</directory> <filtering>true</filtering> </resource> </resources> |
3.在springboot的配置文件中新增
app.name=pomelo app.build_time=@timestamp@ app.version=@project.version@ |
4.在spring 应用中使用即可获取打包时间及版本代码如下:
› 继续阅读
ThreadPoolExecutor的详解及自定义阻塞提交的ThreadLocalExcutor实例
星期二, 2021-11-02 | Author: Lee | JAVA-and-J2EE | 没有评论 1,352 views
ThreadPoolExecutor可以实现线程池的创建。ThreadPoolExecutor相关类图如下:
类图
从类图可以看出,ThreadPoolExecutor最终实现了Executor接口,是线程池创建的真正实现者。
Executor两级调度模型
Executor模型
在HotSpot虚拟机中,Java中的线程将会被一一映射为操作系统的线程。在Java虚拟机层面,用户将多个任务提交给Executor框架,Executor负责分配线程执行它们;在操作系统层面,操作系统再将这些线程分配给处理器执行。
ThreadPoolExecutor的三个角色
任务
ThreadPoolExecutor接受两种类型的任务:Callable和Runnable。
Callable:该类任务有返回结果,可以抛出异常。通过submit方法提交,返回Future对象。通过get获取执行结果。
Runnable:该类任务只执行,无法获取返回结果,在执行过程中无法抛异常。通过execute或submit方法提交。
任务执行器
Executor框架最核心的接口是Executor,它表示任务的执行器。
通过上面类图可以看出,Executor的子接口为ExecutorService。再往底层有两大实现类:ThreadPoolExecutor和ScheduledThreadPoolExecutor(集成自ThreadPoolExecutor)。
执行结果
Future接口表示异步的执行结果,它的实现类为FutureTask。
三个角色之间的处理逻辑图如下:
FutureTask逻辑
线程池处理流程
线程池处理流程
一个线程从被提交(submit)到执行共经历以下流程:
线程池判断核心线程池里是的线程是否都在执行任务,如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下一个流程;
线程池判断工作队列是否已满。如果工作队列没有满,则将新提交的任务储存在这个工作队列里。如果工作队列满了,则进入下一个流程;
线程池判断其内部线程是否都处于工作状态。如果没有,则创建一个新的工作线程来执行任务。如果已满了,则交给饱和策略来处理这个任务。
› 继续阅读
mac下的VirtualBox安装deepin自定义硬盘大小
星期三, 2021-10-27 | Author: Lee | computer, JAVA-and-J2EE, linux | 没有评论 752 views
mac下的VirtualBox安装deepin自定义硬盘大小
遇到的一些问题记录下解决过程
0.mac下安装VirtualBox遇到的无法启动问题(6.1.28)
系统偏好设置–》安全性及隐私
通用项目–》运行从以下地址下载的APP 开启任何来源 或者 APPstore和认可的开发者,详情里把 Oracle勾选上去
隐私项目–》辅助功能、完全磁盘访问权限、文件和文件夹 把VirtualBox的完全访问权限加上,其他自选加入不影响
1.下载deepin-desktop-community-20.2.4-amd64.iso文件,初始化硬盘30G大小
遇到全盘安装至少要64G否则无法安装,这里选左侧自定义安装
创建主分区,根目录下,选自动挂载,把30G的硬盘大小拖到最后,貌似至少需要19G。
2.进入不算太漫长的安装等待,一般会在5%的地方等待好久,慢慢等就好了,一般10来分钟即完成安装.
3.安装完成界面很小,不会跟随屏幕自动变大,要安装增强扩展,通过标题栏,一般会报错,找不到对应的iso挂载文件
这里可以看下cd里有没有挂载到VBoxGuestAdditions.iso,没有挂载的话,在cd驱动里选上即可
解决方法:手工挂载执行,找得到文件直接执行即可.
sudo su cd /media mkdir cdrom mount /dev/cdrom /media/cdrom cd cdrom sh VBoxLinuxAdditions.run |
Presto进程管理实现监控及自动重启
星期四, 2021-10-21 | Author: Lee | JAVA-and-J2EE, 大数据 | 没有评论 1,076 views
具体搭建就不说了可以参考官方文档
https://prestodb.io/docs/current/
其他查询接口也列下:
默认UI是:根据更改的端口调整
http://xxx:8080
获取集群状态 接口:
http://xxx/v1/cluster
获取NODE信息:接口:
http://xxx/v1/node
访问/v1/info/state, 直接从worker处获取worker的状态
取各节点的版本详情 获取节点信息的接口:
http://xxx/v1/service
具体监控信息如下:
› 继续阅读
mac下因为Apple无法检查其是否包含恶意软件的解决方法
星期二, 2021-09-21 | Author: Lee | computer | 没有评论 1,467 views
好久不安装其他软件了,今天下载了个发现无法打开,找了下解决之法:
macos关于打开软件出现“无法打开“指定软件,因为Apple无法检查其是否包含恶意软件,的问题解决;
首先打开terminal 命令行工具
然后输入命令:
sudo spctl --master-disable |
最后输入用户密码,
再打开 系统偏好设置–》安全性与隐私–》通用 –》运行从以下位置下载app–》开通 任何来源 –》仍然打开即可
eclipse2021-06版本使用lombok
星期五, 2021-08-13 | Author: Lee | JAVA-and-J2EE | 没有评论 1,653 views
Eclipse IDE for Enterprise Java and Web Developers (includes Incubating components)
Version: 2021-06 (4.20.0)
Build id: 20210612-2011
(c) Copyright Eclipse contributors and others 2000, 2021. All rights reserved. Eclipse and the Eclipse logo are trademarks of the Eclipse Foundation, Inc., https://www.eclipse.org/. The Eclipse logo cannot be altered without Eclipses permission. Eclipse logos are provided for use under the Eclipse logo and trademark guidelines, https://www.eclipse.org/logotm/. Oracle and Java are trademarks or registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
This product includes software developed by other open source projects including the Apache Software Foundation, https://www.apache.org/.
Lombok v1.18.20 “Envious Ferret” is installed. https://projectlombok.org/
上面是安装完成的版本信息
1.Lombok v1.18.20 下载 当前最新版本 https://projectlombok.org/
2. java -jar lombok.jar
3.安装完毕检查eclipse.ini下配置(需要自行添加–illegal-access=permit)使用jdk16出现的问题
-javaagent:/Applications/Eclipse.app/Contents/Eclipse/lombok.jar --illegal-access=permit |
4.重启eclipse可以正常使用
centos7通配ssl域名使用snap的certbot版本的lets-encrypt记录
星期日, 2021-07-25 | Author: Lee | computer, linux | 没有评论 4,608 views
之前直接使用脚本的形式现在已经不支持了,需要使用snap的模式
1.安装snap
sudo yum install epel-release -y sudo yum install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap sudo snap install core sudo snap refresh core |
2.移除历史的版本certbot
sudo yum remove certbot |
3.Install Certbot
sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot |
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (83)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (184)
- linux (142)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)