- 博客(32)
- 资源 (7)
- 收藏
- 关注
原创 crontab执行结果和手动执行结果不一致问题的一种解决思路
问题分析:crontab能够执行,直接手动也能够执行,但是crontab和手动出来的结果就是不一样,这个问题有很大的可能是因为两者的环境变量不一致导致的解决方案:将crontab的环境变量改成和命令行shell下的一致解决过程:1.在crontab控制的脚本中输出当前的环境变量env (是一个命令,不用echo)2.输出shell下的env (是一个命令不用echo)3.对比两...
2019-10-28 14:22:22 2855 2
原创 利用channel实现线程安全的并发求和
package mainimport ( "fmt" "time")var count0 = 0var count = 0func main(){ //一百个协程去累加 for i := 0; i < 100; i++{ go add1() } time.Sleep(time.Second * 1) fmt.Println("count0====>"...
2018-12-31 18:49:24 1003
原创 为什么在A线程中调用B线程的join方法会导致A线程阻塞?
观看源码可以了解到,Thread的join方法利用的是等待/唤醒机制实现的。join中的代码片段:if (millis == 0) { while (isAlive()) { wait(0); } } else { while (isAlive()) { ...
2018-07-12 12:58:01 4501 2
原创 堆实现数学表达式求值(利用逆波兰表达式)
1.表达式求值比较复杂,涉及到运算符的优先级,还有括号的影响,所以需要有一个合适的求值方法来完成,逆波兰式是个最佳选择,逆波兰式就是利用堆的特性来设计的。2.利用堆实现数学表达式求值,代码中主要的方法是initRPN方法和caculate方法,initRPN方法的功能是将输入的表达式(中缀表达式)按照规则转换成后缀表达式(逆波兰表达式),caculate是将逆波兰表达式按照规则计算结果。impor...
2018-07-11 12:49:57 387
原创 通过位运算计算A+B问题,不使用四则运算
这是一个模拟计算机中实现加法器的程序,所有的数加法最后都是在计算机中用二进制的位操作实现 两个一相加会产生进位,所以这个用两个数相与然后左移一位实现进位操作public class APlusB { public static void main(String[] args) { System.out.println(aplusb(10, 23)); } ...
2018-07-08 20:06:35 684
原创 求解power of tow问题(判断一个数是否为2的幂次方数)
public class PowerOfTow { public static void main(String[] args) { System.out.println(isPowerOfTow(4)); System.out.println(isPowerOfTow1(4, 0)); System.out.println(isPower...
2018-07-07 17:30:23 380
原创 偏向锁、轻量级锁、重量级锁的升级
这几个锁之间的关系和升级需要理解,重量级锁的获取和释放的开销比较大,所以不能在任何情况下都加上重量级锁;单线程的情况下锁是可以不需要的,但是需要有应对多线程的方案(锁升级);多个线程争夺锁,如果让一个线程稍微等一等能解决的问题就不要用重量级锁来完成。jvm中的的线程的调度由用户线程是完成不了的,需要使用内核线程才能够完成。重量级锁的开销主要是在线程从用户状态和内核状态之间的切换,java获取锁时,...
2018-07-06 17:07:47 390
原创 冒泡排序
冒泡排序算法思路,前后两个元素两两互相比较将较大或者较小的冒出去,接着进入下一轮循环重复操作需要使用两层循环,第一层循环是控制每一个元素都要进行冒泡,eg:1,2,3,6,4,5 按照降序排列,首先让1冒到后面,然后再让2冒到后面,这个过程需要使用循环来控制第二层循环:看第一层循环的过程,1先和2比交换位置,然后再和3比交换位置(这个不断比较交换的过程也需要循环来控制,控制每个元素冒泡的详细过程)...
2018-07-04 11:35:41 307
原创 在服务器上监控磁盘空间大小并且将警告结果发邮件的实现方案
1.安装邮箱服务器,选择sendmail或者postfix都可以实现(笔者在本地使用的ubuntu,安装的sendmail服务器,线上的是centos并且自带了postfix),安装教程sendmail参考:安装sendmail, 安装postfix参考:安装postfix2.将需要被被监控的磁盘名称和邮件的接收者和抄送对象都放在单独的配置文件中,比较灵活。(磁盘名称:diskName.conf,...
2018-06-06 17:27:40 3410
原创 spark的combineByKey算子原理详解
val rdd1 = sc.makeRDD(Array(("A", 1), ("A", 2), ("B", 3), ("B", 1), ("B", 2), ("C", 1)), 2)val rdd2 = rdd1.combineByKey( (v: Int) => v +"_", (c: String, v:Int) =&
2018-05-01 01:18:38 1205
原创 mysql跨服务器数据增量同步的解决方案
说明:由于本人的实际情况是不能修改线上对数据引擎的支持,并且只是为了同步部分表,因此没必要将两个库做主从,因此采用以下的方式进行解决对于跨服务器同步增量导数据的问题,本可以使用:select * into outfile "/home/yls/my.log" fields terminated by ',' lines terminated by '\\n' from test where id&...
2018-04-21 17:27:15 9721
原创 ubuntu中安装Redis Desktop Manager出现的问题以及解决办法
1.首先下载已经编译好的安装包:https://download.csdn.net/download/tab_yls/103084372. sudo dpkg -i redis-desktop-manager_0.8.3-120_amd64.deb 然后报错:dpkg: 依赖关系问题使得 redis-desktop-manager 的配置工作不能继续: redis-desktop-manager...
2018-03-26 10:42:54 2483
原创 ubuntu16.04使用sudo apt-get autoremove导致系统崩溃的解决办法
问题描述:本人安装的是双系统win10+ubuntu,在ubuntu中运行使用的时候想要清除一下软件的依赖包然后运行了一个命令sudo apt-get autoremove,运行完成的时候当时没有什么影响,但是重启之后就出了问题,在gnu grub version 2.02~beta2-36ubuntu3.16为标题的界面中只找到win10的启动引导,没有出现ubuntu的启动引导。因此猜测可能s...
2018-03-02 14:28:33 6871 1
转载 程序中对于日期中周的处理
本文是在项目当中遇到问题之后上网查阅之后有所搜获,感谢作者的付出,因此转载:Calendar工具类对跨年的星期的处理个人总结
2018-01-22 20:17:59 267
原创 int、Interger的值为什么有时候相等,有时候不相等?
提前需知:1.Integer有一个常量池,存放着-128~127之间的数值,在这里的数值在用的时候会从这个缓存中取;2.new Integer(10)类似的不管常量池里面有没有都会从堆中分配一个内存;3. Integer和int运算的时候会自动拆箱(将Integer拆成int);4.==号比较的是内存地址;5.equals比较值;public static void mai
2018-01-09 21:34:23 1342
原创 关于对序列化的理解
纠结这个知识点只是偶然。最开始从网上看到序列化的原因,说是为了能够持久化和网络传输,其实这样的说法我个人认为不准确,至少我就被误导了,难道没有序列化的就不能够持久化到磁盘就不能够在网络上传输了吗?然后就带着这两个问题寻找答案。1.数据不管你是否已经序列化,都可以写在磁盘中,并且也可以在网络上传输。但是如果没有序列化过的数据展示出来的就难以给除了计算机之外的识别。因为一串串的二进制代码,人是
2017-11-22 18:13:04 621
原创 js自定义方法直接申明式的使用以及在jquery的$(function(){})中使用的区别
有一个A页面,作为公共的初始条件开始时间 :结束时间 :zq:cs:fgs: 然后在B页面引入A页面,但是其中的查询条件需要添加一个,所以就想通过jquery的after方法添加,然后直接在js中申明调用,然后却出现了问题initSelect();function initSelect() { var html = "yw:";$("#cp_channel")
2017-09-15 18:33:49 1640
原创 基于maven只整合spring和struts2
1.建好maven项目(参考:http://blog.csdn.net/tab_yls/article/details/72487287)2.在pom.xml中加入依赖。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi
2017-07-12 15:33:57 554
原创 在局域网中不能ping通的问题
今天和组员花了大把的时间做了很愚蠢的事情,在进行socket编程的时候发现连接错误,然后各种折腾最后定位错误是系统的原因,然后进行ping链接,但是发现ping不通然后又是各种折腾,重装系统最后还是不能解决问题,然后组员在手误的情况下ping错了一个ip然后发现可以ping通,于是问题才渐渐明了,原来是系统禁用ping,才导致无法被别人ping通。于是去放火墙里面的入站规则启用了文件和打印机共享-
2017-07-06 20:49:11 1198
原创 java中的main函数
每个java应用程序都要有一个程序入口,最简单的java程序是就是hello word。main函数中有一个参数args一直很迷,现在用个例子明白了。它是使用java命令运行的时候给程序添加参数用的,例如:如上图可以知道,运行的时候加上类名,然后加空格再加参数如果多个参数则用空格分开。
2017-06-28 21:01:15 351
原创 java在命令行下编译带有package命名空间的项目
package com.study.java.net.test;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;public class SocketRecive { public static void main(String[] args) {
2017-06-26 19:05:32 467
转载 java在命令行中编译代码出现 错误: 编码GBK的不可映射字符
在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe会获得我们操作系统默认采用的编码格式。JDK根据操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),把源程序从默认编码格式转化为JDK内部默认的UNICODE格式放入内存中。然后把转换后的unicode格式的文件进行编译成.clas
2017-06-26 18:00:44 3451
转载 eclipse中对相同变量的高亮显示
参考:http://blog.csdn.net/jackrex/article/details/12438431
2017-06-25 16:34:16 382
原创 使用maven部署项目到tomcat服务器的笔记
使用了maven进行开发之后然后要把项目部署到服务器中,刚开始以为是和普通的部署一样然后按照着普通的部署方法发现行不太通(备注:也可以从事先编译好再把webapp文件夹下面的内容拷贝到tomcat的子目录webapp目录下面,也可以借助eclipse先把项目打包成war包放到tomcat的webapp目录下面去然后启动tomcat),然后才想到maven编译生成的编译文件的目录结构和普通的不太一样
2017-06-06 19:43:43 2590
原创 mysql-5.5.50-winx64解压版的安装与修改密码
1.解压压缩包;2.以管理员身份运行cmd并且用cd命令进入解压文件下的bin目录,然后去配置环境变量;3.执行命令:mysqld -install就可以安装mysql服务(如果想要卸载服务执行命令:mysqld -remove。);4.登陆:输入mysql -u root -p回车,然后输入密码;5. 选择数据库:user myql;改密码:6.u
2017-06-05 15:33:03 1263
转载 eclipse新建maven项目
非常感谢这个作者写的文章,按照这个完成了在eclipse下的maven项目的构建。链接为:http://www.cnblogs.com/candle806/p/3439469.html再次感谢这个作者!
2017-05-18 19:22:25 430
原创 tomcat启动的时候报错:Failed to start component
Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/****]]报这个错的原因一般是tomcat的server.xml文件中配置的虚拟目录出了问题,我的报这个错的时候是因为我的server.xml里面多了一个虚拟目录,然后把这个删掉就解决了。
2017-05-09 21:58:42 5595
原创 Myeclipse下删掉jar包之后出现感叹号或者在Libraries下面报错的处理方法
一般来说使用BuildPath就能解决,但是有一些情况就是无法使用这个方式来解决,例如(这里以log4j-1.2.15.jar为例):这个时候应该切换至Navigator视图,一般情况下使用的是Package Explorer视图:打开WEB-INF下的lib发现那个报错的包还在这里,直接选中它然后右击删除:。
2017-03-24 20:37:52 2343
原创 struts2的自动封装
我们在使用struts2进行从前台传到后台的时候(当然这里是在结合了form表单的情况下),我们通常会给input框中的name属性赋值,然后再 后台action中提供setter/getter方法就可以完成数据的传递(在jquery中使用ajax的时候要记 得$("form").serialize()给表单的数据序列化)。这种方式用起来虽然很顺手,但是还有一种更加方便的方法,就是使用struts
2016-07-15 18:44:42 326
shell实现磁盘监控并且发邮件
2018-06-06
跨服务器增量同步mysql表数据的shell实现
2018-04-27
JAVA API对Elasticsearch的增删改查
2017-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人