- 博客(37)
- 收藏
- 关注

原创 ubuntu操作系统使用docker容器搭建typecho博客详细教程
本文首发地址:https://www.dawnsite.cn/archives/210.html1.安装docker和docker-compose这一步不再赘述,详情参考博客文章 ubuntu安装docker和docker-compose2.需要的镜像今天笔者这里使用以下三个镜像:nginxdawn/php:7.2.3-fpmmysql:5.7(PS:笔者这样做是为了留出单独的php和nginx环境以便后续使用,如果直接使用typecho镜像会更加简单,有兴趣的可以研究一下, 这里不.
2021-02-26 11:25:15
893
2
原创 java-生产者消费者问题以及解决办法
文章目录1.生产者消费者问题概述2.生产者消费者问题的解决办法2.1 解决思路2.2 实现方法2.3 代码实现2.3.1 wait()和nofity()方法2.3.2 await()/signal()方法2.3.3 BlockingQueue阻塞队列方法2.3.4 Semaphore信号量2.3.5 管道2.4.5.1 PipedInoutStream/PipedOutputStream(操作字节流)2.4.5.2 PipedReader/PipedWriter(操作字符流)1.生产者消费者问题概述生产
2021-07-27 09:47:17
5155
2
原创 java-lock锁概述
本文首发地址:https://www.dawnsite.cn/archives/266.html1.Lock锁概述从JDK5.0开始,Java提供了更强大的线程同步机制–通过显式定义同步锁对象来实现同步。java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock对象。ReentrantLock(可重入锁)类实现了Lock,它拥有与synchr.
2021-07-27 09:44:53
204
原创 java死锁简介
本文首发地址:https://www.dawnsite.cn/archives/265.html1.死锁的定义死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。即某一个同步块同时拥有“两个以上对象的锁”时,就可能会发生"死锁"的问题。示例:public class TestDeadLock { public static void .
2021-07-27 09:42:47
202
原创 线程同步及synchronized关键字实现同步的方法
文章目录1.什么叫线程同步?2.实现同步机制的方法2.1 同步代码块2.2 同步方法1.什么叫线程同步?多个线程操作同一个资源即并发,同一个对象被多个线程同时操作(抢票等)。线程同步是为了确保线程安全,所谓线程安全指的是多个线程对同一资源进行访问时,有可能产生数据不一致问题,导致线程访问的资源并不是安全的。如果多线程程序运行结果和单线程运行的结果是一样的,且相关变量的值与预期值一样,则是线程安全的。处理多线程问题时,最天然的解决办法就是’排队’,线程同步就是一种等待机制,多个需要同时访问此对象的线程进
2021-07-22 17:29:48
520
原创 线程的常用方法梳理
文章目录1.线程的五大状态2.线程停止3. 线程休眠_sleep4.线程礼让_yield5.线程强制执行_join6.获取线程状态_getState7.线程的优先级_setPriority8. 设置守护线程_setDaemon1.线程的五大状态创建状态就绪状态阻塞状态运行状态死亡状态2.线程停止不推荐使用jdk提供的stop()、destory()方法。【已废弃】推荐线程自己停止下来建议使用一个标识位进行终止变量示例:/* 测试停止 * 1.建议线程正常停止 * 2.建
2021-07-22 13:53:19
146
原创 java8新特性之Lambda简介及简单用法介绍
1. Lambda简介Lambda表达式是JDK8的一个新特性,可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合遍历和其它集合操作中,可以极大地优化代码结构。1.1 对接口的要求Lambda规定接口中只能有一个需要被实现的方法,不是规定接口中只有一个方法JDK8中有另外一个新特性:default,被default修饰的方法会有默认实现,不是必须被实现的方法,所以不影响Lambda表达式的使用。1.2 什么是函数式接口在Java中,标记类型的接口是一种没有方法或属性声明的接口,
2021-07-20 13:59:34
398
原创 线程创建的三种方式及区别
一. 创建方式1. 继承Thread类定义Thread类的子类,并重写该类的run方法。创建Thread子类的实例,即创建了线程对象。调用线程对象的start()方法来启动线程。package Thread;/* 1.继承Thread类 2.重写run()方法 3.调用start()方法开启线程 */public class TestThread extends Thread { @Override public void run() { /
2021-07-13 11:12:47
3214
原创 mysql在阿里云ubuntu服务器的配置过程
本文首发地址:https://www.dawnsite.cn/archives/164.html1. MySQL配置1.1 安装MySQLapt-get install mysql-server1.2 配置MySQL初始化配置mysql_secure_installationVALIDATE PASSWORD PLUGIN can be used to test passwords... Press y|Y for Yes, any other key for No: N (我的.
2021-02-26 11:42:30
94
原创 nginx在阿里云ubuntu服务器上的配置过程
本文首发地址:https://www.dawnsite.cn/archives/163.html1. Nginx配置1.1 安装Nginx首先键入apt-get update更新安装源然后键入apt-get install nginx安装nginx设置开机启动systemctl enable nginx(有的说使用标准安装默认开机自启,这里我并没有去验证)此时就可以通过ip地址访问Nginx网页,如果阿里云的域名解析已经做好,也可以使用域名访问。1.2 配置SSL证书及默认HTTP.
2021-02-26 11:40:12
984
原创 pyinstaller打包成无控制台可执行文件与popen冲突的解决办法
本文首发地址:https://www.dawnsite.cn/archives/200.html原因popen会打开一个管道执行命令,而管道是有输入(stdin)、输出(stdout)的,但当我们使用pyinstaller打包可执行文件时使用了-w参数或者是.spec文件中console=False,python解释器是不带控制台的,所以它没有办法处理输入(stdin)包括使用python的input()函数都不行os.popen实际上是一个简单的封装,原型是subprocess.popens.
2021-02-26 11:33:38
554
原创 git更换源方式记录
本文首发地址:https://www.dawnsite.cn/archives/198.html该方式前提是本地项目已关联远程仓库,由于业务变更git地址改变1. 移除本地已有远程仓库git remote remove origin2. 添加新的远程仓库源git remote add origin "clone地址"3.一步到位法git remotea set-url origin "clone地址"现在各种git操作都是在新的远程仓库进行PS:查看当前项目关联的远程仓库.
2021-02-26 11:32:31
4914
原创 ubuntu安装docker和docker-compose
本文首发地址:https://www.dawnsite.cn/archives/204.html1.前提(同步源,更新依赖)apt-get updateapt upgrade2.安装dockerapt install dockerapt install docker.io3.安装docker-composecurl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname.
2021-02-26 11:28:51
761
原创 tomcat服务器更改默认项目
本文首发地址:https://www.dawnsite.cn/archives/207.htmlTomcat服务器默认主页是tomcat主页,我们可以将其改为自己的项目,便于访问管理编辑Tomcat安装目录下conf/server.xml文件在<Host></Host>标签之间添加以下代码:<Context path="" docBase="你在webapps下的项目" reloadable="true" />如图:310028195)]重启tomc.
2021-02-26 11:27:52
176
原创 tomcat服务器manager设置用户名和密码
本文首发地址:https://www.dawnsite.cn/archives/205.html1.找到tomcat安装目录Linux一般是在/usr/local/tomcat目录下Windows一般是自定义安装,看看你自己装到哪里了这里我用的ubuntu操作系统2.修改文件找到conf目录下的tomcat-users.xml文件关闭tomcat服务器后编辑文件,在<tomcat-users></tomcat-users>标签中加入以下一行代码:<user.
2021-02-26 11:26:58
2478
1
原创 range和xrange的区别
本文首发地址:https://www.dawnsite.cn/archives/196.html首先声明:xrange在python3中已经木得了range在python2中range可以直接返回一个列表list = range(0, 4) # 可以直接得到list = [0, 1, 2, 3]type(list) # <type 'list'>而在python3中则完全不同list = range(0, 4) # 得到list = range(0, 4)type(lis
2021-01-14 09:14:24
137
原创 python内置小工具
本文首发地址:https://www.dawnsite.cn/archives/181.html1. 字符串转换为JSON由于JSON的诸多优点,已被广泛应用于各个系统中,将JSON字符串转换为JSON对象的需求十分常见。而除了打开浏览器使用在线JSON格式化工具外,我们也可以使用命令行的Python解释器来解析JSON字符串windows系统下,直接在cmd执行即可:echo {"desktop": [{"name": "Bandizip", "version": "6.26", "remove"
2021-01-11 09:55:11
175
2
原创 innosetup的静默安装卸载参数
本文首发地址:https://www.dawnsite.cn/archives/179.html静默安装,顾名思义就是安静的安装,减少与用户的交互,在编写自动化脚本时候很实用1. 静默参数列表/silent 静默执行,如果报错会提示,并且会跳出进度条页面/verysilent 强制静默参数 ,不论是否报错都不会有提示(如果设置需要重启电脑,不会向用户确认而直接重启)/suppressmsgboxes 不提示消息框/norestart 可结合第二条参数使用,避免没有提示而直接重启2.
2021-01-08 17:28:37
1978
原创 python快捷创建一个下载服务器用于传输文件
本文首发地址:https://www.dawnsite.cn/archives/178.html目前我们都通过聊天工具来传输文件,而文件稍大或者数量很多的情况下很容易错乱,反而降低办事效率,今天介绍一下python内置的下载服务器:1. 首先进入你想要传输文件的目录下,进入目录后执行以下命令:Python2 语法:python -m SimpleHTTPServerPython3 语法:python -m http.server2. 执行命令后把ip和端口告诉朋友即可,默认打开80
2021-01-07 10:08:44
222
原创 python执行cmd命令
本文首发地址:https://www.dawnsite.cn/archives/173.htmlpython 操作cmd通常使用os模块执行cmdos.system(执行的命令)控制台可以打印输出结果但无法获取,默认情况下代码0代表执行成功,如果执行的进程自定义了成功返回值,可能就不是0了。os.popen(执行的命令)输出后的内容是一个对象,默认是以读的方式打开,可以通过读取文件对象,获取返回的信息内容。...
2021-01-07 10:07:18
963
原创 celery使用root用户启动报错处理
本文首发地址:https://www.dawnsite.cn/archives/165.html报错信息RuntimeError: Running a worker with superuser privileges when theworker accepts messages serialized with pickle is a very bad idea!If you really want to continue then you have to set the C_FORCE
2020-12-31 14:45:12
882
1
原创 pycharm生成requirements.txt
本文首发地址:https://www.dawnsite.cn/archives/162.html在命令行中输入:pip freeze>requirements.txt安装requirements.txt文件中的包pip install -r requirements.txt
2020-12-31 14:33:26
320
原创 celery worker启动报错:AttributeError: ‘str‘ object has no attribute ‘items‘
本文首发地址:https://www.dawnsite.cn/archives/160.html1.错误演示[2020-11-18 11:11:41,548: ERROR/MainProcess] Unrecoverable error: AttributeError("'str' object has no attribute 'items'",)Traceback (most recent call last): File "E:\PyCharm_code\Venv\djtest1\lib\s
2020-12-22 19:08:16
454
1
转载 30分钟学完python基础语法
有一门面向对象语言的基础,30分钟足够看一遍Python的基础了该文章转载自友人c一. 基础语法# 缩进取代大括号# 用换行取代分号,也可以使用分号,无所谓# 输出print();# 输入input();# 注释#单行注释"""多行注释1"""'''多行注释2'''# 申明变量直接写字母就行与数字、下划线组合即可,不是保留字即可。# ifif true: print("true")else: print("false") .
2020-12-22 10:55:26
125
原创 salts命令使用
本文首发地址:https://www.dawnsite.cn/archives/159.html1. salt-key密钥管理 通常在master使用salt-key [options]salt-key -L ##查看所有minion-keysalt-key -a <key-name> ##接受某个minion-keysalt-key -d <key-name> ##删除某个minion-keysalt-key -A
2020-12-21 09:56:47
303
原创 django后台管理界面美化
本文首发地址:https://www.dawnsite.cn/archives/147.htmldjango自带后台管理系统,但是界面略显‘简陋’一. 前置任务建立数据库表和管理员信息python manage.py migrate # 初始化默认表信息python manage.py createsuperuser # 创建后台管理员账号二. 使用simpleui开源项目一键美化界面只需两步:设置文件包括该项目setting.pyINSTALLED_APPS = [
2020-12-21 09:55:34
2738
原创 linux常用命令之其他命令
本文首发地址:https://www.ciyintang.vip/archives/126.html复习整理一下其他的常用命令不需要死记硬背,对于常用命令,用的多了,自然就记住了不要尝试一次学会很多命令,有些命令是非常不常用的,临时遇到,临时问度娘就可以了学习目标查找文件find软链接ln打包和压缩tar软件安装apt-get01.查找文件find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件序号命令作用
2020-11-03 10:42:13
176
原创 linux常用命令之系统信息相关命令
本文首发地址:https://www.ciyintang.vip/archives/124.html复习整理一下系统信息常用命令不需要死记硬背,对于常用命令,用的多了,自然就记住了不要尝试一次学会很多命令,有些命令是非常不常用的,临时遇到,临时问度娘就可以了本节内容主要是为了方便通过远程终端维护服务器时,查看服务器上当前 系统日期和时间/磁盘空间占用情况/程序执行情况学习目标时间和日期datecal磁盘和目录空间dfdu进程信息pstopkill
2020-11-03 10:40:51
231
原创 linux常用命令之用户权限命令
复习整理一下用户权限常用命令不需要死记硬背,对于常用命令,用的多了,自然就记住了不要尝试一次学会很多命令,有些命令是非常不常用的,临时遇到,临时问度娘就可以了学习目标用户和权限的基本概念用户管理终端命令组管理终端命令修改权限终端命令01. 用户和权限的基本概念1.1 基本概念用户是linux系统工作中重要的一环,用户管理包括用户与组管理在linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限在linux中,可以指
2020-08-17 20:38:09
2549
原创 linux常用命令之远程管理命令
文章首发地址:https://www.ciyintang.vip/index.php/archives/118/复习整理一下远程管理常用命令不需要死记硬背,对于常用命令,用的多了,自然就记住了不要尝试一次学会很多命令,有些命令是非常不常用的,临时遇到,临时问度娘就可以了命令概览关机/重启shutdown查看或配置网卡信息ifconfigping远程登录和复制文件sshscp01.关机/重启序号命令对应英文作用01shutd
2020-07-09 13:54:07
269
原创 linux常用命令之文件和目录命令
文章首发地址:https://www.ciyintang.vip/build/index.php/archives/117/复习整理一下文件和目录常用命令不需要死记硬背,对于常用命令,用的多了,自然就记住了不要尝试一次学会很多命令,有些命令是非常不常用的,临时遇到,临时问度娘就可以了命令概览查看目录内容ls切换目录cd创建和删除操作touchrmmkdir拷贝和移动文件cpmv查看文件内容catmoregrep其他echo重定
2020-07-07 19:40:33
283
原创 常用linux命令的简单使用及查询帮助的方法
文章首发地址:https://www.ciyintang.vip/build/index.php/archives/113/复习记录一下linux常用的几个命令的简单使用以及查阅帮助信息的方法不需要死记硬背,对于常用命令,用的多了,自然就记住了不要尝试一次学会很多命令,有些命令是非常不常用的,临时遇到,临时问度娘就可以了1.linux命令格式command [-options] [parameter]说明:command:命令名,相应功能的英文单词或单词的缩写[-options]:选项
2020-07-07 19:36:59
288
原创 Maven+SpringMVC项目下的图片压缩上传及跨域访问方法
本文首发地址:https://www.ciyintang.vip/build/index.php/archives/110/之前在项目开发中用到了图片上传,当时也是到处找教程,今天将磕磕绊绊得到的方法记录下来,以便以后查看。图片上传后台相关1.在pom.xml导入文件上传及文件压缩相关的包 <!-- 文件上传组件 --> <dependency> <groupId>commons-fileupload</groupId> <art.
2020-05-18 16:52:49
346
原创 在部署到阿里云服务器上的Maven+SpringMVC项目中实现邮箱接收验证码验证功能的方法
文章首发地址:https://www.ciyintang.vip/build/index.php/archives/101/最近个人开发项目需要做一个找回密码功能,但鉴于成本,不考虑手机验证码,这里记录一下通过邮箱获取验证码来验证的开发过程首先要实现邮箱验证验证码,无论是使用网易还是腾讯QQ邮箱还是其他邮箱,我们都需要开启POP3/SMTP服务,获取账户授权码。QQ邮箱开启POP3/SMTP首先进入邮箱主页,然后依次进入设置–账户,在账户页面下方POP3/IMAP/SMTP/Exchange/C.
2020-05-17 17:17:27
2448
原创 Windows常用快捷键及常用dos命令
本文首发地址:https://www.ciyintang.vip/build/index.php/archives/86/整理一下Windows常用快捷键和常用的dos命令一、Windows常用快捷键1、win键组合组合作用win键打开或关闭开始菜单win键+R打开运行窗口win键+E打开文件资源管理器win键+D显示桌面win键+T...
2020-05-01 18:11:57
484
原创 Markdown基本语法学习笔记
今天学习了Markdown的一些基本语法,将其整理一下,以便巩固及查看,同时也希望可以能帮到看到这篇文章的人。一、Markdown是什么Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown也可以理解为将以Markdown语法编写的语言转换成html内容的工具。二、为什么要用Markdown兼容html,...
2020-04-16 22:34:04
304
1
原创 Maven的下载和安装以及在Intellij IDEA下的配置
博主刚开始学习ssm整合开发,以后会记录学习过程的点滴积累,将犯过的错误、踩过的坑都会写下来,以便以后翻看,也希望可以给搜索到这篇文章的人一点帮助
2019-11-14 09:47:50
345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人