学习笔记
文章平均质量分 57
渊丹
这个作者很懒,什么都没留下…
展开
-
hashmap&concurrentHashmap&hashTable对比
hashMap concurrentHashmap hashTable 初始化 指定初始化大小数组 图1:需要考虑线程安全,调用initTable()。 判断sc变量是否小于0,如果不是则进行CAS抢占,将SIZECTL,sc赋值为-1。 其他线程进入时判断如果sizectl小于0,则进行yield()让出CPU执行权。 也就是说仅有一个线程能进行初始化操作。 指定大小 hash 图2:高16位 异或^ 低...原创 2021-05-22 15:59:40 · 163 阅读 · 0 评论 -
指定次数或者条件 停止定时任务线程
先创建一个TASK用于执行定时任务,@Slf4jpublic class InitVisitorEntityTask implements Runnable { private VisitorEntityService visitorEntityService; private ConcurrentHashMap<String,Future> futuremap; private volatile CountDownLatch cdl; private A原创 2020-06-05 13:28:55 · 1346 阅读 · 0 评论 -
获取druid 空闲连接数
最近项目中需要集成健康监控,我的项目里使用的连接池的druid,然后有一个需要监控的指标是当前空闲连接数,但是durid的方法中没有明显的idle字样,源码中也没发现什么注释,这就很难搞了。找了几个方法的关系也没有什么太好的方向,最后选择了从数据库入手。首先,看一下数据库当前的连接情况:保证没有任何的其他连接情况下,有4个连接。贴图一下druid配置,先保持5个空闲。然后启动项目,查看初始状态下,数据库的连接状态。启动项目后连接数是9.项目有5个连接,然后查看连接池的活动..原创 2020-05-22 17:51:42 · 6909 阅读 · 2 评论 -
GP广播与分布
发生重分布与广播情况:join 聚合。目的:为了能在一个 segment上面进行数据join;举例:对于一个人员地理位置表,分布键是人员id,位置是name,如果对 name进行group by,就需要对name字段进行重复布, 在进行重分布之 前,先对每一个机器都进行局部group by,重分布之后,同一个name的 数据都会分布在同一个segment机器上面,最后提交给m...原创 2020-03-21 12:07:33 · 695 阅读 · 0 评论 -
greenplum 关于联表的特性
左连接 不能将左表广播右连接 不能将右表广播关联表尽量使用相同的分布键,可以直接进行数据关联,不用进行重分布。内连接:情况1:select * from test_table_5000 as t1, test_table_10000 as t2where t1.id=t2.id关联键是分布键,不涉及重分布情况2:select * from test...原创 2020-03-21 11:59:34 · 941 阅读 · 0 评论 -
gp的几个常用操作
正在执行的sql:当有慢sql正在执行时,或者接口无法加载(连接数满)。select * wherexact_start is not null ORDER BY query_start;杀掉查询进程select pg_cancel_backend(procpid);杀掉其他SQL进程select pg_terminate_backend(procpid);数据...原创 2020-03-21 11:42:56 · 875 阅读 · 0 评论 -
面试点:ISR总结
在可用性和一致性之间做一个动态平衡ISR: 1. in-sync Replica,每一个partition都有一个leader,每一个leader都会维护一个基本与它同步的replica列表。 2.如果一个Follower比Leader落后太多,或者超过一定时间未发起数据复制请求,则Leader将其从ISR中移除 3. 当ISR中所有Replica都...原创 2020-03-20 17:51:40 · 683 阅读 · 0 评论 -
volatile几个特性
特性1:防止该声明变量上下文指令重排。 (1、2、volatile、3、4),其中12顺序可变,34顺序可变 但是不能跨越volatile进行排序。特性2:强制将修改值立即写入主存,写入时对已存在CPU的缓存行做无效处理。当运用该缓存是发现无效,则重新读取主存。特性3:不具备原子性, 线程1对变量进行读取操作之后,被阻塞了的话,并没有对inc值进行修改。然后虽然volatile能保...原创 2020-03-19 14:37:51 · 274 阅读 · 0 评论 -
intellij idea 查找变量快捷键
alt + F3,然后使用 F3 或 shift + F3, 上下移动。这样是本页面搜索已选中关键字的所有匹配; like%关键字%这种形式(字符串都能匹配)选择变量 ,ctrl+f7, 再使用 F3 或 shift + F3, 上下移动。这样只会查找变量,不会把包含和变量名称的其他内容查出来;而且只会限定在当前方法,或者当前类中。其他变量和字符串就不会被匹配...原创 2020-03-19 09:43:06 · 5058 阅读 · 0 评论 -
关于list在遍历中,做出删除操作的坑
首先介绍的是阿里规约上的一个案例:建议如果有时间的同学可以去阿里云考一下这个认证,考试通过会发一个电子认证证书,有效期两年。List<String> list = new ArrayList<String>();list.add("1");list.add("2");for (String item : list) { if ("1".equals(...原创 2020-03-14 11:29:40 · 419 阅读 · 0 评论 -
@Scheduled (二) 其余方式系列用法
参数 说明 示例 fixedDelay 上一次执行完毕时间点之后多长时间再执行 @Scheduled(fixedDelay = 1000) 上一次执行完毕后 1秒再执行 fixedDelayString 上一次执行完毕时间点之后多长时间再执行 与fixedDelay唯一不同就是支持占位,可...原创 2020-03-09 18:10:04 · 496 阅读 · 0 评论 -
@Scheduled (一) cron用法
spring通过该注解来开启定时任务。首先在application类上使用注解 @EnableScheduling开启使用注解;然后在需要使用的类使用@Scheduled注解;下面是关于cron使用方式的说明:cron表达式是一个字符串,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义。(不定性是因为年可以省略!)cron表达式语法[秒] ...原创 2020-03-09 17:53:19 · 14136 阅读 · 4 评论 -
@PostConstruct 说明及应用
直译:PostConstruct注解用于在完成依赖注入以执行任何初始化之后需要执行的方法。必须在类投入服务之前调用此方法。支持依赖注入的所有类都必须支持此注解。即使类不请求注入任何资源,也必须调用PostConstruct注释的方法。只有一个方法可以使用此注解。应用PostConstruct批注的方法必须满足以下所有条件:方法不能有任何参数,除非在拦截器的情况下,在这种情况下,它接受侦听...原创 2020-01-08 15:33:06 · 843 阅读 · 0 评论 -
java的new String()跟intern()方法
1、面试题入手:1)String s = new String("hollis");定义了几个对象字符串的分配跟其他对象分配都是需要空间和时间代价的,jVM为了减少内存开销,字符串类维护了一个字符串池,每当代码创建字符串常量时,JVM首先检查字符串常量池,如果存在该字符串,就返回池中的实例引用。如果不存在,就实例化一个字符串并存放到池中。答案:在常量池中查找是否有“holli...转载 2019-12-04 11:25:31 · 588 阅读 · 1 评论 -
JVM指令集
指令码 助记符 说明 0x00 nop 什么都不做 0x01 aconst_null 将null入栈 0x02 iconst_m1 将int型-1入栈 0x03 ...原创 2019-11-19 10:02:31 · 151 阅读 · 0 评论 -
IDEA 快捷键失效 原因记录(持续更新)
F8:调试失效,如果请查看是否安装了有道词典;会占用F8快捷键。CTRL+SHIFT+F:搜索无效,一些输入法会占用此快捷键,进行繁体字切换。原创 2019-05-25 10:57:49 · 4512 阅读 · 0 评论 -
springboot+druid+jdbctemplate+greenplum 事务管理未生效
使用了第三方数据库连接池Druid,没有声明事务管理器。Spring boot对事务管理会有默认配置,但不包含第三方插件,使用第三方插件时需要额外处理解决方法:使用druid数据源配置事务管理器@Bean(name="transactionManager")publicDataSourceTransactionManager transactionManager(){ret...原创 2019-11-12 09:25:39 · 1126 阅读 · 0 评论 -
ORACLE dmp操作
1.查看当前数据库实例(导出命令选择数据库会使用)当前实例为ORCL。2.打开CMD命令窗口(WIN+R)3.准备命令行数据exp fc/fc @ORCL file=e:\20181217.dmp full=y ...原创 2018-10-17 16:58:21 · 874 阅读 · 0 评论 -
ajax属性async 同步异步区别(入门使用级)
一般来讲使用ajax功能的目的,就是能在页面不重新加载的情况下,与后台交互刷新局部页面信息。再者就是相应用户的局部操作,返回结果,一般以弹窗提示作为结果。 下面进入正题,同步异步的区别和几个应用场景:async:false(同步请求):执行该部分的时候,停止页面的所有加载动作,等待该请求的返回结果,返回任意结果后才能继续后续加载。 缺点:页面加载过程中,同步调用...原创 2018-07-06 12:58:58 · 8916 阅读 · 1 评论 -
大文本文件(接近7GB): 统计频数,Top K问题求解
转自https://blog.csdn.net/qq_26437925/article/details/785311791 产生了一个1G行,每行一个[0,100000]区间的整数2 top n 求解:2.1 大文件分成小文件把这个7G左右的大文件,按照读入数字的hashcode值分成1024个小文件(每个文件平均最大就7M左右)2.2 小文件统计对每个小...转载 2019-04-04 15:18:30 · 416 阅读 · 0 评论 -
springboot 版本号解释说明
1.传统的版本号规则是什么?springframework-4.3.11.RELEASE 4.3.11.release主版本号.次版本号.增强版本号.里程碑版本号主版本号:项目的重大重构次版本号:新功能的添加和变化增强版本号:BUG的修复里程碑版本号:releaseAlpha: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,...原创 2019-01-25 09:07:08 · 17365 阅读 · 0 评论 -
springmvc 用拦截器+token防止重复提交
首先,防止用户重复提交有很多种方式,总体分为前端JS限制和后端限制,也一直是在后端控制的,第一次遇到这种问题是因为360无限网卡问题,双网卡都发出的请求(问题原因不明确,反正关闭笔记本360无限模块就好了).第二次是因为业务人员重复点击导致的(异步提交的服务器响应慢,也没有控制按钮置灰),第三次是同权限两个用户并发操作了(没几个人的系统,竟然赶到一起了,这个背啊)。 第一次解...原创 2018-09-07 14:09:49 · 1529 阅读 · 0 评论 -
java 可变参数 String... 用法
public static void main(String[] args) { System.out.println("test1:"); test("a","b","c"); System.out.println("test2:"); test(new String[] {"a", "b", "c"}); } /*原创 2018-08-25 13:39:22 · 15304 阅读 · 1 评论 -
web.xml中load-on-startup的作用
如下面一段配置: 我们注意到它里面包含了这段配置:<load-on-startup>1</load-on-startup>,那么这个配置有什么作用呢? 作用如下: 1.load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。 2.它的值必须是一个整数,表示servlet应该被载...转载 2018-08-01 12:26:15 · 173 阅读 · 0 评论 -
jfinal 关于表单同时提交文件和文本信息,文本获取不到的问题解决方案
Java后端做管理操作平台时,经常会遇到人员管理、物品管理等需求,这些需求就会要求上传图片信息,下面说一下我操作过程中遇到的现象。 表单同时提交了图片和相关的文本描述,如图:...原创 2018-07-11 10:10:34 · 508 阅读 · 0 评论 -
ReentrantLock 解锁注意事项
学习笔记,欢迎指点: ReentrantLock相比于synchronized,有更强大有丰富的功能扩展,单机项目推荐使用,这里不多做介绍,下面说一下我在项目中遇到的一种问题:正常逻辑下,public class TestThread implements Runnable{ private static ReentrantLock rLock = new ReentrantLock(...原创 2018-07-17 10:23:35 · 2349 阅读 · 0 评论 -
关于IDEA javax.servlet.http.HttpServletRequest; 不存在 解决方案
昨天从eclipse导入了一个web项目到idea,想运行一下,结果发现 servlet报红... 没有包,第一反应就是eclipse需要设置Targeted Runtimes,但是idea的设置是啥?摸索了一番,也查看了别人的解决方案,都不是很好用,有些还是无用。在借鉴了其他人方案的基础上,最后OK了,下面是解决步骤流程,截图:注:这一步看不到tomcat的朋...原创 2018-07-09 08:32:08 · 53681 阅读 · 24 评论 -
jfinal 1.8 事务不生效问题。
本次使用事务方式:Db.tx(new IAtom() { public boolean run() throws SQLException { try { //用户基本信息 User.dao.insertInfo(basicInfoMap); //资产信息 Ohter.dao.insertInfo(otherMapList); ...原创 2018-06-15 10:36:44 · 983 阅读 · 0 评论 -
AesCBC对称加密-样例
package util;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/** * AES...原创 2018-09-07 14:38:34 · 886 阅读 · 0 评论 -
springboot 配置session时效
直接上码://Spring Boot 应用的标识@ComponentScan(basePackages = {"com.demo"})@SpringBootApplicationpublic class Application { public static void main(String[] args) { // 启动嵌入式的 Tomcat 并初始化 Spring 环...原创 2018-09-25 13:22:51 · 2443 阅读 · 0 评论 -
springboot 静态资源配置
正常搭建的项目通过浏览器访问的时候,都回去匹配请求地址对应的controller mapping映射,但是如果想像访问tomcat容器静态资源那样,就要进行配置,设置静态资源路径,添加一行配置即可application.propertiesspring.resources.static-locations=classpath:/static,classpath:/public,class...原创 2018-12-14 15:21:51 · 170 阅读 · 0 评论 -
oracle dmp导入(windows 本地数据库)
https://blog.csdn.net/a290450134/article/details/83113258基于上步操作进行导入。1.win+r -->输入cmd(注意:这里是cmd窗口,不是sqlplus窗口!!!)输入以下语句: imp system/sys@localhost/ORCL file="C:\daochu.dmp" full=y ignore=...原创 2018-11-15 08:52:03 · 2511 阅读 · 1 评论 -
mybatis 调用存储过程
mapper.xml<select id="callPWfSubmit" parameterType="java.util.Map" resultType="java.util.Map" statementType="CALLABLE" > {CALL p_wf_submit (#{companyId,mode=IN,jdbcType=INTEGER}...原创 2018-11-15 16:31:25 · 369 阅读 · 1 评论 -
侵入式和非侵入式的区别
之前,一直有提到侵入性,相信大家也没有怎么了解,今天分享给大家~简单说一下我的理解吧。假设大家都想要把用户代码塞到一个框架里。侵入式的做法就是要求用户代码“知道”框架的代码,表现为用户代码需要继承框架提供的类。非侵入式则不需要用户代码引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。例如: 使用struts的时候,我需要继承一些struts的类,这时struts侵入到了我的代码...转载 2018-10-21 12:26:54 · 6783 阅读 · 0 评论 -
springboot+mybatis+oracle 下划线字段对应的驼峰字段没有值问题。
刚搭建了springboot+mybatis+oracle项目,然后反向工程了实体,demo查询了一下,log能打出SQL,而且能正常返回实体内容。 当时就是 哇! 居然这么顺。。。。。么? 并没有,刚开始对接接口的时候,就是部分字段没有值,我擦的,我用日志打印的SQL执行了一下,尼玛没毛病啊。然后跟一下实体吧,我擦为毛部分字段有值,部分是NULL,然后就是薅头发阶段。...原创 2018-09-29 15:55:55 · 2672 阅读 · 0 评论 -
switch 语句编译报错Constant expression required
脑抽写了个坑,记录一下填坑过程。。。防止自己再跳。。。。。 先说一下switch支持的类型:switch表达式后面的数据类型只能是byte,short,char,int四种整形类型,枚举类型和java.lang.String类型(从java 7才允许),不能是boolean类型。非正常类型入参错误如下:如下是非常量错误:此处错误:case中使用的的必须是常量,也就是要使用...原创 2018-09-29 10:18:50 · 90750 阅读 · 6 评论 -
Mybatis Could not find result map java.lang.Integer
以下是报错信息,仅供参考:org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuil...原创 2018-10-11 10:55:55 · 1190 阅读 · 0 评论 -
【转载】SVN-无法查看log,提示Want to go offline
1、问题1)svn查看log时,提示“Want to go offline”错误,如下图:2)关闭 或 cancel该提示对话框后,显示1970时间,如下图:(我的问题与转载文章有点不一样,时间是当前日期)2、解决方法1)试过很多方法,如:编辑svnserve.conf,设置“anon-access=none”;修改“passwd”、“authz”文档,都无效。2)无意...转载 2018-09-26 08:09:03 · 2304 阅读 · 0 评论 -
intern() 方法
intern() 方法返回字符串对象的规范化表示形式。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。具体不做介绍,请看引用:http://www.runoob.com/java/java-string-intern.html来一段有意思东西://1: ...原创 2018-05-24 13:22:47 · 4816 阅读 · 2 评论