- 博客(24)
- 收藏
- 关注
原创 什么是“线程封闭”?
为了确保线程的安全,通常需要保证可变的共享数据的同步访问,具体采用的方式有很多;但还有一种方法可以保证线程的安全,即是使可变数据不共享,或者是使数据不可变。所谓“线程封闭”即是仅在单线程中访问数据,也就是通过让可变数据不被多个线程共享以确保数据的正确性。栈封闭局部变量在函数的作用域当中,只有该函数本身可以访问,因此,也就自然地保证了线程的安全性。这就是线程封闭中的“栈封闭”。举例如下所示。...
2019-02-13 01:33:25
1829
4
原创 什么是“this引用逸出”?
this引用逸出是指,在类的构造方法中发布该类的对象,导致尚未构造完全的对象被其他线程访问。这样一来,不同的线程得到的可能是不同的结果,有些线程访问的是构造完全的对象,而另一些线程则会访问到尚未构造完全的对象,最终导致不可预测的错误。下面来看2个代码示例。public class UnSafeDemo{ public UnSafeDemo(EventSource source){...
2019-02-12 19:52:24
1086
2
原创 Access denied for user 'root'@'localhost' (using password:YES)
经查找资料发现是root帐户默认不开放远程访问权限,所以需要修改一下相关权限。打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(WIN7默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)重启MySQL服务。通过命令行进入MySQL的BIN目录,输入“mysql -u root...
2018-11-05 17:36:04
296
原创 Java Map类型与Json字符串的互相转换
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import java.io.UnsupportedEncodingException;import java...
2018-04-22 12:21:14
6323
原创 配置git服务客户端
#第一步、确保至少安装了git for widows#打开bash,去到用户目录下,依次执行下面的命令cd .ssh/mkdir democd demossh-keygen -t rsamv id_rsa.pub 你的名字的拼音@workstation.pub#第二步#还在.ssh目录下mv id_rsa hs_id_rsaeval `ssh-agent -s`ssh-add -k hs_id_r...
2018-04-13 16:38:09
286
原创 PHP中使用raw格式发送POST请求
如果请求的参数格式是原生(raw)的内容,应该如何为程序构造一个POST请求函数呢?function http_post($url, $data_string) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ...
2018-03-07 11:41:56
14834
2
转载 Qt与Qt Creator的下载地址
1. 所有Qt版本下载地址:http://download.qt.io/archive/qt/2. 所有Qt Creator下载地址:http://download.qt.io/archive/qtcreator/3. 所有Qt VS开发插件下载地址:http://download.qt.io/archive/vsaddin/4. Qt相关下载大全
2018-01-25 20:56:34
9595
转载 一些游戏开发与AI方面的网站
AIWisdom: 一个研究、查阅已发表的游戏人工智能技术的站点。AIWisdom.com 是世界上惟一的发表在书、杂志、会议和网络上的关于游戏人工智能的文章和技术的在线列表,可通过主题、类别、来源或日期检索文章的题目和摘要。 网址:http://www.AIWisdom.com/。GameAI: GameAI.com是一个能从中轻松地获取大量关于游戏人工智能的信息和链接的网站。
2018-01-24 12:10:21
683
原创 一个简化MySQL数据库查询的PHP类
<?php/***********************************************本类功能说明************************************** 可用于管理后台的站内条件搜索等数据调取应用场景***************************************************************************
2018-01-16 11:37:14
274
原创 传入日期字符串输出日期星期几
<?php/**************************************本类功能说明******************************************///只需传入一个当天日期字符串,就可直接得到当天所在星期的整个星期每一天的日期字符串数组/*******************************************END************
2018-01-16 11:33:14
833
原创 配置PPTP服务
先来介绍下PPTP点对点隧道协议的概念。以下是百度百科上的解释:点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术。通过该协议,远程用户能够通过 Microsoft Windows NT 工作站、Windows 95 和 Windows 98 操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地 ISP,通过 Internet 安全链接到公司网络
2018-01-08 13:45:01
6991
原创 phpstudy集成环境中服务异常的问题排查解决思路
这是一次较有记录价值的实践,虽然不是多有技术含量的事情,但我真心感觉到通过这次经历收获的思路是宝贵的积累。phpstudy是一个本地集成环境,学过php的同学应该都知道,但是我这次在配置本地虚拟主机的时候出了岔子,出岔子的原因极为不起眼,估计如果不是用了文中这个方法很难找出问题。在启动phpstudy的时候,其他服务正常开启,唯独Apache服务启动不了。更头疼的是,不光启动不了,还没有提示任何报错
2017-12-29 14:25:29
3618
原创 Flask的一次巧妙应用
想起之前我遇到了这样的一个场景:有一套项目源代码,这个项目有个需求是实时更新数据,每间隔5分钟就要更新一次,数据是通过请求API来获取,但这些API所在的服务器在美国,而我们的应用服务器则在香港,通讯链路过长导致了每次更新数据都会延时。因为项目代码涉及到大量业务逻辑,并且任务要求在2天时间内完成,如果去改动项目,牵扯到的问题将不仅仅是解决数据更新延时那么简单,所以我们在尽量不改变原有项目代码的前提下
2017-12-22 15:46:02
657
原创 ImportError: No module named redis
在Python命令行中导入redis模块时,出现了如下报错信息:ImportError: No module named redis解决的办法就是安装这个模块,访问https://github.com/andymccurdy/redis-py 下载安装包后,解压并安装[root@root soft]# unzip redis-py-master.zip -d /usr/local/redis
2017-12-08 21:12:34
573
原创 使用FireBug插件辅助采集网页动态加载数据
许多人在遇到网页动态加载数据的时候都习惯于使用selenium webdriver这款自动化测试工具,对接上浏览器驱动可以实现对javascript代码的逆向解析。但这种方式有1个明显的弊端:性能太差。更重要的是,其采集效率的下限很大程度上并不取决于数据采集者,而是取决于网页上有多少javascript代码,如果这些代码很多,那么我们的网络爬虫运行端就需要耗费更多的资源来解析这些javascript
2017-12-06 14:40:43
1668
原创 MySQL的InnoDB存储引擎未开启的解决办法
今天发现项目中的一个bug,经过检查发现是mysql的InnoDB存储引擎没开启,导致代码中调用的事务不起作用.于是我用一下办法解决了. 打开mysql连接的客户端工具,在其中输入一下命令SHOW VARIABLES LIKE 'have_%'显示结果中会有如下3种可能的结果:have_innodb YEShave_innodb NOhave_innodb DISABLED这3种结果分别对应:
2017-11-20 14:44:59
2273
1
原创 Cocos Studio 的下载地址找不到
Mac地址:http://www.cocos2d-x.org/filedown/CocosStudioForMac-v2.0.6.dmgWin地址:http://www.cocos2d-x.org/filedown/CocosStudioForWin-v2.0.6.exe
2017-11-11 23:22:53
5516
原创 第三方登录——OAuth2.0协议
想不想在自己的产品中加入微信、QQ、新浪微博等第三方登录的功能?知道这些功能使用的都是什么技术吗?答案就是“开放式授权”,英文简称为“OAuth”。OAuth协议为用户资源的授权提供了一个安全、简易、开放的标准。OAuth协议不会使第三方触及到用户的账户信息,第三方无需使用用户的用户名和密码就可以申请获得该用户资源的授权完成登录。OAuth的工作原理如下:step1:获取Reque
2017-11-04 13:14:55
1818
原创 CentOS 7 下搭建lua+luarocks运行环境
step1:安装依赖yum install gcc gcc-c++ kernel-develyum install readline-devyum install ncurses-devel.i386step2:安装luawget http://www.lua.org/ftp/lua-5.1.5.tar.gztar zxvf lua-5.1.5.ta
2017-11-02 12:29:30
4203
原创 CentOS 7 下使用Systemctl来管理系统服务
最近接触到Systemctl这个强大的linux系统服务管理工具,除了可以替代System V、service和chkconfig这3个常用指令以外,还有许多实用的功能,下面给出常见的用法。实用systemctl -help可以看到该命令可以分成以下部分:查询或发送控制命令给systemd服务管理单元服务的命令服务文件的相关命令任务、环境、快照相关命令sys
2017-11-01 00:12:41
2018
原创 CentOS 7 FTP服务配置
记录下在CentOS 7系统下配置FTP服务过程。1.安装vsftpd yum install vsftpd2.编辑iptablesvi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 service iptables restart3.
2017-10-30 21:28:07
352
原创 CentOS 7 防火墙设置
我在CentOS 7系统下配置防火墙时跳了一些坑,想着写篇博客记录下来,让自己以后可以看看曾经踩过的坑(跳过一次就不要再跳了)。服务器内没有默认安装iptables服务怎么办?只能自己去配置了,下面记录详细的配置过程。首先需要做的时把原先默认的firewalld服务干掉,输入以下指令:step1:停止并屏蔽firewalld服务systemctl stop firewa
2017-10-29 22:40:28
4765
原创 PHP消息队列
业务系统--------(入队)--------->消息队列---------(出队)--------->队列处理系统作用:1.解耦2.流量削峰3.异步通信4.扩展性5.排序保证队列介质:MySQL:容易实现、可靠性高、速度慢;Redis:速度快、单条大消息包效率低;消息系统(RabbitMQ):专业性强、可靠
2017-10-27 20:44:27
633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人