- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 如何让快速排序实现更简单
昨天是柚子班的第四期课程,课程起于去年的11月份,当时阿里内忧外患,各种内网撕逼不穷,为了贡献自己的一份力,孤尽老师内网发了个贴,说是开班授课,当时他自己也没想到报名的人会有那么多,只是想着即使只要一个人报名,他也会把课程上下去。实际上竞争是相当激烈,阿里内网芝麻分最高的21个同学可以参加,而总的报名人数突破了1400+,通过熟人各种拉芝麻,有幸最后能入选成为柚子班的一员。到第四期,人员变动也很大,孤尽老师已经离开了阿里,成为了开课吧的CTO,21个同学里面也有同学已经入职,加入了字节或其他,但是大家的
2021-10-31 22:48:04
196
2
原创 常用线程同步类CountDownLatch、CyclicBarrier用法
引子随着时代的发展,Object当初的抽象模型部分不适用当下的技术潮流,比如finalize()方法在JDK9 之后直接被标记为过时方法。而wait()和notify()同步方式事实上已经被同步信号、锁、阻塞集合等取代。 —— 《码出高效》那么,如何用好线程同步类将...
2020-12-14 21:06:17
290
原创 linux快捷命令行
对于程序员,经常要跟linux打交道。想想,每一行linux命令行省下那么一点点时间,一年下来省下的时间将可以~ 避免一个项目的delay~ 陪老婆去度一次蜜月~ 陪孩子去一次迪士尼... 当然,首先你得有对象~接下来直接进入主题~首先我输入了一段自我介绍:正在上传…重新上传取消这时我突然想起大家更多认识的是我的花名,于是我要调整下名字为花名,你以为的的操作是这样的:而实际上的操...
2020-02-20 01:07:37
965
原创 实现轻量级本地分布式事务
在上家公司时,由于机构 DIY 课程定制需要从固定课程复制,而复制需要调用三个小组的微服务,导致速度缓慢。最终通过id生成器,线程池,CompletionService ,闭锁实现 web 端调用的并发执行,提速优化同时保证三者之间事务安全, 接下来详细描述。三个微服务分别为 课程创建、讲次创建、卷子创建,讲次挂在课程上,卷子挂在讲次上,关系如下:原本的创建是在单线程执行:创建讲次 ->...
2020-02-19 19:49:14
421
原创 maven mac NB: JAVA_HOME should point to a JDK not a JRE
The JAVA_HOME environment variable is not defined correctlyThis environment variable is needed to run this programNB: JAVA_HOME should point to a JDK not a JRE在mac配置maven的时候报这个错误,原因是配置JAVA_HO...
2018-05-29 20:16:00
6186
5
原创 volatile是如何实现可见性和有序性
http://blog.csdn.net/y124675160/article/details/70669928 中说到了加了volatile的变量拥有可见性和有序性两种特性,那么volatile是怎么实现这样的特性的呢,下面我们就来讲讲。主内存与工作内存java内存模型规定了所有的变量都存储在住内存。每条线程还有自己的工作内存,线程的工作内存中保存了被改线程使用到的变量的主内存副
2017-10-22 15:01:01
3541
原创 java虚拟机 synchronized锁优化
自旋锁与自适应自旋互斥同步的时候,挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发带来很大压力。同步虚拟机团队发现许多应用上锁定状态的维持时间很短,为了这段时间去挂起和恢复线程并不值得。所以当一个线程请求另一个线程的锁时,我们可以让请求线程稍等一下,但不放弃处理器的执行时间,看看持有锁的线程是否很快就会释放锁,我们只需让请求线程执行一个忙循环(自旋),这就是所谓的自旋锁。
2017-04-25 08:43:53
400
原创 java并发volatile的使用
关键字volatile可以说是java虚拟机提供的最轻量级的同步机制。当一个变量定义为volatile之后,它就具备两种特性:1、保证此变量对所有线程的可见性,即当一个线程修改了这个变量的值,新值对于其他线程是立即可得的。注:关于volatile的可见性经常被开发人员误解,觉得:volatile变量对所有线程是立即可见的,所以volatile变量在各个线程中是一致的,所以基于volat
2017-04-25 08:02:59
344
原创 延迟初始化,双重检查加锁的陷阱
在初始化类时,有时为了避免不必要的开销,我们会采用延迟初始化的方式来构造类。在多线程的环境中,我们经常会使用双重检查加锁的方式来初始化类,甚至在百度移动应用统计的源码中,我就看到了许多使用这种延迟初始化的方式,如 程序1-1public class DoubleCheckedLocking { private static Resource resource; pub
2017-04-21 23:23:09
318
原创 java类加载器,双亲委派模型
什么是类加载器:虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。类与类加载器的关系:对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空气。要比较
2017-04-20 22:55:19
360
原创 经典面试题,try-catch-finally在虚拟机中的实现
相信大家在面试中,或者其他情况下经常会看到这样的一道题,下面inc()方法调用后的返回值是什么,答案大家自己去执行下程序或者问度娘之后应该都知道了,在方法没有异常的时候,返回的是1,出现Exception异常的时候返回的是2,出现Exception以外的异常致使方法非正常退出时,没有返回值。但这样的结果在虚拟机的实现原理是什么呢,我想很多童鞋是不知道的。public int inc() {
2017-04-20 07:50:36
1354
原创 synchonized加锁的虚拟机实现
synchonized实现有两种方式,一种是直接加在方法上,对整个方法进行加锁。另一种是对方法内的某一个代码块进行加锁,那么这两种加锁方式在虚拟机内的实现是怎样的呢。对方法直接进行加锁:方法级的同步时隐式的,即无须通过字节码指令来控制,它实现在方法调用和返回操作之间。虚拟机可以从方法常量池的方法表结构中的ACC_SYNCHRONIZED访问标志得知一个方法是否声明为同步方法。当方法调用时,
2017-04-18 22:59:51
426
1
原创 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement解决
load data infile的时候报这个错,解决方法为:修改mysql安装路径下的my.ini,在末尾添加“secure-file-priv=路径名”这一行,重启mysql将要通过load data infile的文件放在上面所定义的路径下进行操作即可
2016-12-15 16:05:33
10227
2
原创 hibernate使用truncate语句报错
public void truncateTableByName(String tableName) { Map params = new HashMap(); StringBuilder sql = new StringBuilder(); sql.append(" truncate table :tableName"); params.put("tableName", table
2016-10-25 11:43:02
3712
原创 linux python3中移动光标就出现^[[D,^[[C,^[[B,^[[A等符号的解决办法
执行yum -y install readline-devel后,重装python后即可恢复。
2016-10-11 16:37:22
4260
原创 Error:(1, 1) java: 非法字符: \65279 最有效解决方法
大家在使用maven或者IDE intellij的时候,可能会碰到类似下面的错误:maven:[ERROR] /E:/Workspace/pga/src/main/java/com/huonet/common/search/CriteriaSearchProperties.java:[1,1] E:\Workspace\pga\src\main\java\com\huonet\common
2016-09-05 13:28:30
18438
1
原创 Paypal升级SSL,java
由于安全隐患,paypal需要升级SSL,java的升级非常简单,只需要为运行环境配置最新的JDK1.8即可linux配置java环境步骤:1、http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载jdk-8u91-linux-x64.rpm文件
2016-07-21 17:34:08
1455
原创 linux下使用yum安装svn
1、通过rpm -qa subversion判断是否已安装未安装执行命令:yum install -y subversion2、配置版本库目录mkdir -p /var/svn3、新建一个项目svnserve -d -r /var/svn (-d 表示svnserve.exe 将会作为一个服务程序运行在后台(???不确定是否是这个意义) -r表示把/var
2016-07-21 16:56:31
1646
原创 linux下使用mysqlbinlog生成日志文件
1、首先执行 vi /etc/my.cfg;2、在其中添加 log-bin=/var/lib/mysql/mysql-bin,需要添加在[mysqld]下,而不是[mysqld_safe]下;3、重启mysql, service mysqld restart;4、进入/var/lib/mysql路径,会看到一个mysql-bin.000001的文件。(其中前缀mysql-bin为第2
2016-07-18 18:48:32
2300
原创 linux Centos7安装mysql
1、安装mysql客户端yum -y install mysql2、安装mysql服务器端 yum -y install mysql-server yum -y install mysql-devel 注:由于centos7下的yum不自带mysql-server,所以得先安装资源包,步骤: 1、wget ht
2016-07-18 14:22:40
380
原创 mysql同时删除多张开头相同的表
我想应该会有很多人有这样的疑惑,如何同时删除多张前缀相同的表。首先,执行show table like ‘%XXX%’,XXX即为前缀,接着,将结果导出为sql文件,接着,做全局替换,执行替换后的sql。主要是说思路,具体的操作听完后应该都会了吧。 ^_^
2015-12-16 14:21:53
1300
原创 mvn不是内部或外部命令
其他的需要配置JDK环境变量啊Meven变量啊之类的错误我就不说了,我只说说我因为疏忽犯的错误,希望可以帮助到一样疏忽的朋友。那就是M2_HOME配置好以后我又改了文件夹的名称,自己却没意识到,一直确定M2_HOME的参数肯定没错,所以根本没去检查那个,结果就在其他可能的错误上花了好多时间,如果你也是这个错,希望帮到你。
2015-12-04 14:02:46
2715
原创 algid parse error, not a sequence
如果你是在手机网站支付开发过程中遇到该问题,应该是java开发过程中没有将rsa私钥转换成PKCS8格式,具体可参考我关于支付宝手机网站支付私钥公钥生成的那篇文章。传送门:https://blog.csdn.net/y124675160/article/details/49979791...
2015-11-22 18:50:15
6064
2
原创 IOException : DerInputStream.getLength(): lengthTag=26, too big.
出现这个错误是我在开发手机网站支付的时候出现的,由于之前的支付功能是即时到账,后来改为了手机网站支付宝。主要是由没有将AlipaySubmit中的buildRequestMysign方法中的RSA.sign(prestr, AlipayConfig.private_key, AlipayConfig.input_charset);中的private_key没有由原先的商户的私钥改为手机网站支付
2015-11-22 18:33:43
5939
原创 支付宝手机网站支付私钥公钥生成(window环境)
由于支付宝手机网站支付需要用到RSA私钥生成sign和以及需要上传RSA公钥以换取支付宝公钥用于验证sign,所以以下说明的是在Windows64下生成RSA私钥以及公钥的方法。http://doc.open.alipay.com/doc2/detail?spm=0.0.0.0.FfhCRX&treeId=58&articleId=103242&docType=1文档上说明了对于win
2015-11-22 18:26:00
3037
2
原创 关于64位Oracle在tnsnames.ora配置新数据库地址后在PLSQL登陆界面没出现新数据库选项的解决方案
现在使用PLSQL连接64位的oralce通常都会下载一个32位的oracle客户端,其中有yi
2014-11-16 16:50:54
4962
原创 org.apache.axis.AxisFault:java.lang.NullPointerException报错解决方案
今天使用wsCaller的时候,报了这个错误,上网查了下也没
2014-10-29 10:51:20
7781
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人