自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

转载 Go

Go 的框架https://beego.me/quickstart转载于:https://www.cnblogs.com/stdpain/p/11425987.html

2019-08-28 19:23:00 122

转载 Shell

关于一些shell的 if 操作[[ ! -s "./some.conf" ]] && exit 1 #不存在就退出其他的可以参考https://blog.csdn.net/liyyzz33/article/details/84836255关于变量直接赋值和export 赋值区别:直接赋值只有当前shell有效 export 执行后子脚本也可以获取但是子脚本...

2019-08-26 16:11:00 119

转载 AQS

# AQSAQS 是一个抽样同步器,可以通过这个快速实现一些需要同步对象,可以编写各种锁意义使用while编写一个简单的自旋锁很容易,但是有的时候,使用while不断的自旋获取锁资源,在别的线程获取到资源的情况下而且使用较长的时间,当前线程还在不断的自旋,cpu有较大的浪费,但是操作线程的状态比较复杂,使用Sleep或者Park以及什么时候唤醒线程都不方便写,因此如果使用AQS,就...

2019-08-18 13:43:00 133

转载 Python 编码错误解决方案

Python 编码错误解决方案PythonUnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 7: ordinal not in range(128)解决方案:import sysreload(sys)sys.setdefaultencoding('utf8')当然如果非shell环境下需...

2019-08-09 11:06:00 132

转载 Slf4j 打日志的问题 Exception 没有堆栈信息

Slf4j 打日志的问题 Exception 没有堆栈信息发现线上环境有的Exception堆栈信息没打出来,只有异常信息没有堆栈信息,难以定位一般情况下日志这么打log.info("xxx:{} yyy:{}",p1,p2);打异常信息log.error("xxx:{}",p1,e);错误打法:只能看到异常信息,没有堆栈,打了跟没打一样log.error("xxx:{} ...

2019-07-31 13:40:00 1128

转载 Hive 问题

hive 重启连接不上异常信息:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient解决方法:rm metastore_db/*.lck一般情况下都可以解决,要是...

2019-07-26 10:57:00 98

转载 Spring中获取request的几种方法,及其线程安全性分析

写的很赞:https://www.cnblogs.com/kismetv/p/8757260.html转载于:https://www.cnblogs.com/stdpain/p/11248257.html

2019-07-26 09:15:00 70

转载 Java 包扫描器

包扫描器获取一个包下的所有类,然后使用默认的类加载器加载到内存中 public static List<Class<?>> scanByPackage(String packageName) throws IOException, URISyntaxException { //我们传入的包名都是 "com.stdpain.xx" 这种的需...

2019-07-24 20:36:00 101

转载 Shell 日常 ip 端口可用性测试

ip port 可用测试telnet 测试某个ip 端口是否可用很方便,但是如果ip比较多,写脚本就不方便了因为是阻塞的这里强烈推荐 ncnc -z -w 1 127.0.0.1 8990这里 1 代表 1s 就是在1s内如果没有建立连接那么就忽略 如果成果会返回success我们可以使用 awk 命令 获取到输出结果./test.sh |awk '{print $3,$4}...

2019-07-23 13:50:00 293

转载 Java 执行

java -cp****.jar ****.****.className [args]linux 下 -cp 参数使用 : 分割 一般都是 .:lib/*windows 下使用 ; 分割转载于:https://www.cnblogs.com/stdpain/p/11213386.html

2019-07-19 15:10:00 91

转载 Java 反射

反射getFields() 获取某个类的所有 public字段getDeclaredFields() 获取某个类所有字段,但是不包括 父类字段其他的也同理我们可以直接访问私有域,或调用私有方法,不过一般情况下最好不要这么做,只有在设计出问题的情况下做一些临时补救措施,或者debug,或者写工具框架才这么做Field declaredField = TestClass.class...

2019-07-19 15:05:00 72

转载 Mysql 日常

Mysql 日常总结做报表的时候经常会使用 if 来帮助统计select count(if(key=1,1,NULL)) from atable where ...当然,也支持选择select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''Mysql 支持很多函数,可以玩一玩u...

2019-07-15 10:30:00 61

转载 Java 引用

强引用Java 默认的就是强引用只要有强引用存在,对象就不会被回收a = new Object();软引用如果内存足够就不进行回收,内存不够的时候会进行回收比较适合做大对象的缓存System.out.println("in test soft 1");Object o = new Object();SoftReference<Object> softo = ...

2019-07-12 12:25:00 57

转载 Mysql insert on update

数据库 MysqlINSERT INTO table (column_list)VALUES (value_list)ON DUPLICATE KEY UPDATEc1 = v1, c2 = v2,...;尝试把数据插入表,如果主键冲突的话那么更新字段参考自http://www.mysqltutorial.org/mysql-insert-or-update-on-du...

2019-07-04 17:43:00 774

转载 Java Mail 异常

Java Mail 异常java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决方案:把Jar包换一个比较高的版本就可以了<!--版本过低会报错--><dependency> <groupId>com.sun.mail</groupId> ...

2019-06-26 09:27:00 137

转载 Java Spring Boot 一些调试技巧

配置文件的管理有的时候我们希望开发环境和测试环境的配置文件放在一起可以快速切换spring boot 为我们提供了很方便的的选项在 application.properties 中只需要添加属性 spring.profiles.active=dev这样spring boot 就会切换选择 对应的配置文件 application-dev.properties,把里面的属性覆盖当前的...

2019-06-23 17:19:00 185

转载 Js replace

var str = "haha"str.replace("h","b")//out"baha"只能替换第一个如果需要全局替换str.replace(/h/g,"b")//out"baba"转载于:https://www.cnblogs.com/stdpain/p/11059458.html

2019-06-20 16:17:00 570

转载 JVM 参数

VMjava -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx 初始堆大小-Xms 最大堆大小-Xmn 年轻代-Xss 堆栈-XX:NewSize=n 年轻代大小-XX:+NewRatio=n 年轻代和年老代的比值-XX:SurvivorRatio=n eden:survivor的比值-XX:MaxPermSize=n 持久代大小回收器选...

2019-06-17 09:40:00 66

转载 Mysql 行锁 for update

Mysql 只有Innodb支持行锁使用行锁需要 事务支持首先打开两个 mysql-client分别执行- client1select * from my_entity1 for update;- client2select * from my_entity1 for update;发现行锁无效,说明需要事务支持- client1start transaction;...

2019-06-13 13:38:00 411

转载 Pandas Series

最近报表做的比较多,如果数据量达到了一定规模而且没超出内存范围内,可以使用Pandas来处理import numpy as npimport pandas as pdpandas 官方教程api 手册易百数据类型可以认为有两种系列(Series),数据帧(DataFrame)Series索引+值 可以认为是序列一个索引可以对应多个值Constructor简单的li...

2019-06-10 10:11:00 40

转载 一些坑 Java 执行命令行命令 Spring Boot 打包为jar ResourceUtils.getFile 等出现的问题...

Java 执行命令行命令这个没技术含量的东西耗费了我半个多小时String command = ....;Process process = Runtime.getRuntime().exec(command);一个简单的命令这样执行时没问题的,但是如果参数中存在空格,那么就会出问题会被分割为不同的参数,使用""包含起来也不行解决方案:使用重载的方法String[]com...

2019-06-10 08:52:00 474

转载 最近走过的坑 :slf4j 多个实现 hibernate 类型转换异常 bean依赖问题

最近走过的坑slf4j 多个实现主要是maven依赖中存在多个slf4j的实现类,在引入的依赖中排除对应的依赖就可以<dependency> <groupId>xxxxxx</groupId> <artifactId>xxxxxx</artifactId> <version>1.0.0&...

2019-05-27 10:14:00 113

转载 Spring 重复扫描导致 bean 初始化两次

https://my.oschina.net/xianggao/blog/522267#OSC_h1_4https://www.cnblogs.com/flyingeagle/articles/7158564.html转载于:https://www.cnblogs.com/stdpain/p/10879750.html

2019-05-17 09:56:00 696

转载 关于MySql的坑

今天弄hibernate的时候数据库死活连不上估计mybatis也够呛搞了好几个小时也不行,最后问题是mysql驱动版本过低,需要换高一些版本的驱动另一个就是一个ssl方面的错误 连接的时候要把url改一下Mysql 8.x 还是跟以前区别挺大的,现在驱动也不推荐以前的了附上解决方案地址https://blog.csdn.net/always_younger/article/...

2019-05-13 00:01:00 46

转载 git clone 报错

错误如下:Cloning into 'server'...remote: Enumerating objects: 11597, done.error: RPC failed; curl 18 transfer closed with outstanding read data remainingfatal: The remote end hung up unexpectedly...

2019-04-20 14:27:00 251

转载 Executors 挖坑

Executors 挖坑线程频繁的创建销毁是有代价的,所以Java为我们提供了线程池线程池构造方法很多我们一般使用Executors的工厂方法:public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThreads,...

2019-04-07 22:42:00 84

转载 Java NIO (1)

Java NIO (1)看了下java核心技术这本书 关于nio的部分介绍比较少,而且如果自己写服务器的话nio用的还是比较多,整理一下nio的资料java中nio主要是三个组件BuffersChannelsSelectorsBuffer可以理解为缓冲区,NIO中的Buffer实现很多,一般常用的就是ByteBufferByteBuffer byteBuffer = B...

2019-04-07 14:44:00 51

转载 Java ConcurrentHashMap 源代码分析

Java ConcurrentHashMapjdk1.8之前用到过这个,但是一直不清楚原理,今天抽空看了一下代码但是由于我一直在使用java8,试了半天,暂时还没复现过put死循环的bug查了一下,java8似乎修复了这个:不过还是可能导致数据丢失https://cloud.tencent.com/developer/article/1120823java8之前都是头插入,而...

2019-04-07 00:56:00 88

转载 Java ThreadLocal 源代码分析

Java ThreadLocal之前在写SSM项目的时候使用过一个叫PageHelper的插件可以自动完成分页而不用手动写SQL limit用起来大概是这样的最开始的时候觉得很困惑,因为直接使用静态成员函数,那么就意味着如果有别的线程同时执行,可能会导致一些并发错误答案是不会,因为PageHelper内部实现是使用到了ThreadLocal这个对象的,每个线程单独使用一个Pa...

2019-04-06 15:24:00 53

转载 Java 多线程 volitile 和 atomic

Java 多线程 volitile 和 atomicvolitile关键字public class MTester { public static class TestKey{ int x = 0; } public static TestKey key0 = new TestKey(); public static void main...

2019-04-05 18:40:00 158

转载 Java HashMap 源代码分析

Java HashMapjdk 1.8Java8相对于java7来说HashMap变化比较大,在hash冲突严重的时候java7会退化为链表,Java8会退化为TreeMap我们先来看一下类图:可见,HashMap继承了AbstractMap,但是Map并没有扩展Collection接口我们先来看一下put方法public V put(K key, V value) { ...

2019-04-05 16:25:00 65

转载 Java ArrayList 源代码分析

Java ArrayList之前曾经参考 数据结构与算法这本书写过ArrayList的demo,本来以为实现起来都差不多,今天抽空看了下jdk中的ArrayList的实现,差距还是很大啊首先看一下ArrayList的类图ArrayList实现了Serializable Cloneable RandomAccess List这几个接口,可序列化,可克隆,可以随机访问构造方法:p...

2019-04-05 14:15:00 77

转载 Linux IO多路复用 poll

Linux IO多路复用 poll之前曾经提到过 selectpoll 跟select类似,poll改进了select的一个确定,就是poll没有监听上限不过poll还是需要遍历以及频繁的把数组拷贝到内核空间,在监听较多文件描述符的时候性能会下降#include <poll.h>int poll(struct pollfd *fds, nfds_t nfds, ...

2019-04-05 10:39:00 60

转载 Linux IO多路复用 select

Linux IO多路复用 select之前曾经写过简单的服务器,服务器是用多线程阻塞,客户端每一帧是用非阻塞实现的后来发现select可以用来多路IO复用,就是说可以把服务器这么多线程放在一个线程里面,减小资源消耗,没必要开多个线程不过实际上select使用很少,现在一般会用epoll这个函数我们先来看一下linux里面man手册对select的介绍可见select是个同步的...

2019-04-04 22:24:00 73

转载 Java Integer == 以及分析

Java Integer ==先看一下这段代码Integer integer1 = 100;Integer integer2 = 100;System.out.println("integer1 == integer2:"+(integer1==integer2));Integer integer3 = 1000;Integer integer4 = 1000;System...

2019-04-04 20:04:00 99

转载 Java 8 中有趣的操作 Stream

Stream不是java io中的stream对象创建我们没有必要使用一个迭代来创建对象,直接使用流就可以String[] strs = {"haha","hoho","lala"};List<String> names = Arrays.asList(strs);Stream<Person>stream = names.stream().map(Pe...

2019-04-03 09:48:00 85

转载 使用bison和yacc制作脚本语言(4)

我们现在开始设计数据结构:interpreter.h#ifndef INTERPRETER#define INTERPRETER#include "../include/eval.h"typedef struct interpreter_tag Interpreter;struct interpreter_tag{ MEM_Storage storage;//...

2019-03-14 11:48:00 143

转载 使用bison和yacc制作脚本语言(3)

我们现在已经可以写好文法了,下一步我们打算开始正式创建工程了在工程目录下,我们创建如下文件夹./include./memory./msinclude文件夹下我们将放头文件memory是内存管理模块,检测内存泄漏ms文件夹主要是放源文件memory内存管理模块可以参考我另一个随笔 https://www.cnblogs.com/stdpain/p/10484403.html...

2019-03-14 10:57:00 197

转载 使用bison和yacc制作脚本语言(2)

我们先来想一下语法一般脚本语言不需要定义类型直接在赋值的时候确定我们主要考虑一下变量的类型a = 1;b = 1.1;c = "str";一般来讲,我们使用这三种类型,整形,浮点型,字符串型不过我们以后还可能使用原生类型等变量的基本运算和其他语言基本相同a = b + 12.4;c = "hehe" + a + "haha"函数定义 我们可以模仿一下js的...

2019-03-13 16:31:00 224

转载 使用bison和yacc制作脚本语言(1)

使用bison和yacc制作脚本语言(1)环境:环境windows 10 Cygwin64语言C工具mingw bison flex主要是使用bison和flex这两个软件,编译器无所谓VC也可以先安装Cygwin,这个是一个类似Linux的一个shell环境,在上面可以用linux的一部分命令https://www.cygwin.com/在...

2019-03-13 14:33:00 275

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除