Java 并发数据结构

[TOC]因为Java提供了一些非线程安全的数据结构如HashMap,ArrayList,HashSet等。所有在多线程环境中需要使用支持并发访问操作的数据结构。 并发ListVector,CopyOnWriteArrayList 是线程安全的List。ArrayList是线程不安全的。如果一定要使用,需要:Collections.synchronizedList(List list)进行包装。C ...

FFmpeg 源码编译安装流程

FFmpeg 对于图像,语音,视频,流媒体可以说是一个难得的利器。而且对众多平台都有支持,了解到了有格式工厂,优酷桌面版都有使用到了FFmpeg 进行视频的转码。(想想当初在网吧的日子 )安装过程的一些简单记录,环境为Ubuntu 14.04 默认安装时提示 not found yasm可以使用 —disable-yasm 或者sudo apt-get install yasm 1.根据实际情 ...

/

mysql 远程访问数据库

--回收所有权限 REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'dbname'@'%'; --开启允许所有IP使用123的密码访问数据库 GRANT ALL PRIVILEGES ON dbname.* TO 'dbname'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; --马上生效 FLUSH PRIVILEGES; ...

quartz 文档中提到的一些表达式的语法

相比crontab的表达式这个多了一个秒级别的控制,通常一般是周期性的比较常用,比如每5分钟,每天凌晨5点之类的 表达式 说明 0 0 12 * * ? 将会在每天的12pm触发 0 15 10 ? * * 将会在每天的10:15am触发 0 15 10 * * ? 将会在每天的10:15am触发 ...

HashSet contains 方法解读

顾名思义 HashSet 就是使用Hash算法实现的Set了. 那么在Java这边是如何实现的? 通过查看源码可以发现在Set里面可以看到一个每次new HashSet的时候都有生成一个 HashMap 然而我们在使用 hashSet.add() 的时候也在往 map里面存数据 而对应value是使用了同一个 new Object()。contains方法不一定需要遍历Set 查看HashMap ...

读取文件的方式在Java7

在Java7使用Nio对文件的操作变得更加容易了使用java.nio.file.Files 可以大大的减少代码量,而且在使用过程不需要在finally 进行关闭流的操作了。 这里就使用readAllBytes(Paths),readAllLines(Paths path,Chatset sc)大家体会下 public static void main(String[] args) { ...

Jrebel 热部署代码,提高开发效率

Jrebel 热部署代码,提高开发效率

Jrebel 帮助你不重启webserver 就能重新部署代码。 JDK 处填写的内容-Xmx256m -noverify -javaagent:E:\JRebel\jrebel.jar -Drebel.struts2_plugin=true -Drebel.spring_plugin=true -Drebel.ibatis_plugin=true 这个可以一样的用到不同的java项 ...

git 提交了一些敏感信息,如何进行彻底删除

如果自己一个不小心的提交了一些敏感的信息到git上面,而自己的项目有可能被其他人看到,如果查看历史记录还是能看到自己提交那些文件。 那么如何彻底从历史记录中的删除这些文件呢? 可以通过下面的命令进行删除,比如删除 db.properties 文件 git filter-branch --index-filter 'git rm --cached --ignore-unmatch db.proper ...

如何编写一个zrlog插件

zrlog的插件能够做那些事情?? 比如定时生成一个siteMap,处理垃圾评论,定时备份数据文件 等。 建立一个 Java ProJect这里需要导入 zrlog-dev-xx.jar实现 IZrlogPlugin 这个接口 这里有个几个方法需要简单说明下, package com.fzb.blog.util.plugin.api; import java.util.Map; public ...