01 2018 档案
摘要:1. 修改MySQL的登录设置: # vi /etc/my.cnf 2. 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] port = 3306 socket = /application/mysql-5.5.32/tmp/mysql.sock ski
阅读全文
摘要:问题解决 今天在windows上上传本地文件到github,出现用户名和仓库不匹配的情况,解决方式如下: 打开控制面板,选择用户账户 把该删除的账户删除一下就行了。 上传文件的步骤如下: 将上传的文件放在一个文件夹下,然后在空白处点击鼠标右键 1、选择Git Bash Here,调出git命令行界面
阅读全文
摘要:想要把日志异步保存到数据库中,首先需要创建一个数据库,然后创建三张固定的表: https://github.com/xiaorenwu-dashijie/logback.git 在记录日志的时候,我们可能有这种需求,对于每个记录除了知道日志信息外,也要记录访问该系统的IP。 MDC便提供了这个功能,
阅读全文
摘要:在记录日志的时候,我们可能有这种需求,对于每个记录除了知道日志信息外,也要记录访问该系统的IP或者用户的信息。 MDC便提供了这个功能,只需要在代码中添加下面的方法即可 在配置文件中用下面的方式获取即可
阅读全文
摘要:Jmeter下载地址: http://jmeter.apache.org/download_jmeter.cgi 解压Jmeter压缩包,双击jmeter.bat 右击测试计划 右击线程组 右击HTTP请求 使用方法如下 一次行发送多个请求
阅读全文
摘要:首先安装nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 --> gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc: --> PCRE PCRE(Perl Compatible
阅读全文
摘要:public static void main(String[] args) { // 0、给List排序 List list = new ArrayList(); int array[] = { 6, 3, 4, 9, 0, 2, 5, 7, 1, 8 }; for (int i = 0; i list1 = new Array...
阅读全文
摘要:使用scheduleAtFixedRate()方法调度任务,输出如下: 使用scheduleWithFixedDelay()方法调度任务,输出如下:
阅读全文
摘要:newFixedThreadPool()方法: 该方法返回一个固定数量的线程池,当一个新的任务提交时,线程池中若有空闲线程,则立即执行。 若没有。则新的任务被暂存在一个任务队列中,待线程空闲时,便处理在任务队列中的任务 newCachedThreadPool()方法: 该方法返回一个可根据实际情况调
阅读全文
摘要:package com.thread.test.Lock; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class C...
阅读全文
摘要:package com.thread.test.Lock; import java.util.Random; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantReadWriteLo...
阅读全文
摘要:package com.thread.test; public class BadLockOnInteger implements Runnable { public static Integer i = 0;// Integer属于不变对象,要想改变,只能重新创建对象 static BadLockOnInteger instance = new BadLockOnInte...
阅读全文
摘要:1)Vector的方法都是同步的(Synchronized),是线程安全的; ArrayList的方法是线程不安全的。 由于线程同步必然会影响性能,因此,ArrayList的性能比Vector好。 请看下面一段代码: 由于ArrayList线程不安全,使用ArrayList时,程序就有可能会抛出异常
阅读全文
摘要:原子性:是指一个操作是不可中断的。即使是多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 比如,对于一个静态全局变量int i,两个线程同时对它赋值,线程A给他赋值为1,线程B给他赋值为-1。那么不管这两个线程 以何种方式。何种步调工作,i的值要么是1,要么是-1.线程A和线程B之间
阅读全文
摘要:执行结果如下 上述代码中开启两个线程T1和T2。T1执行了object.wait()方法,注意在执行wait()方法前T1先申请了object的对象锁,因此在执行obect.wati()时, 它是持有object的对象锁的。wait()方法执行后T1进入等待和状态,并示范object对象锁。T2在执
阅读全文
摘要:首先我们要明确,线程中断并不会使线程立即退出,而是发送一个通知,告知目标线程你该退出了,但是后面如何处理,则完全有目标线程自行决定。 这就是和stop()不一样的地方,stop执行后线程会立即终止,这样可能会引起数据不一致的问题(所以stop()方法已经被废弃不推荐使用了)。 线程中断有三个方法 先
阅读全文
摘要:先上一段代码 本以为运行结果如下: 结果却出现了多种情况,如下: 或者 后翻阅资料得知: Java线程中的Thread.yield( )方法,译为线程让步。顾名思义,就是说当一个线程使用了这个方法之后,它就会把自己CPU执行的时间让掉, 让自己或者其它的线程运行,注意是让自己或者其他线程运行,并不是
阅读全文