- 博客(109)
- 问答 (3)
- 收藏
- 关注
原创 【无标题】
为兼容老版本,若该账号只关联一个租户(企业),则在用户删除后,账号也被删除。注:根区域为海康云眸平台默认生成,需要客户提供根区域ID,海康云眸平台研发人员进行初始化。注:根组织为海康云眸平台默认生成,需要客户提供根组织ID,海康云眸平台研发人员进行初始化。注:管理员为海康云眸平台默认生成,需要客户提供管理员ID,海康云眸平台研发人员进行初始化。该接口用于查询组织下用户列表,包括直属的用户与子组织下用户。该接口用于,根据手机号或账号,查询单个用户信息。organizations对象说明。
2023-06-12 21:04:07 769
原创 bean 默认的name
spring.main.allow-bean-definition-overriding=true就是解决bean重复定义的。设置为true时,后定义的bean会覆盖之前定义的相同名称的bean。但是肯定是不能覆盖的
2020-09-10 18:45:10 687
原创 MySQL中大数据表增加字段的实现思路
前言增加字段相信大家应该都不陌生,随手就可以写出来,给 MySQL 一张表加字段执行如下 sql 就可以了: 1 ALTER TABLE tbl_tpl ADD title(255) DEFAULT '' COMMENT '标题' AFTER id; 但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了。那么,给 MySQL 大表加字段的思路如下:① 创建一个临时的新表,首先复制旧
2020-06-03 11:35:08 2183
原创 记一次线上OOM错误
刚来某公司,负责开发对接企业微信,搞了两个星期差不多搞定,了然后上线部署。眼看差不多稳定,结果pb环境出现了一个oom具体报错如下,java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOfRange(Arrays.java:3864) at com.hikvision.building.cloud.qywe...
2020-04-15 15:14:44 299
原创 史上最全的java线程池解析
在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool...
2019-12-19 14:04:30 484
原创 spring @Transactional 坑爹的事情
context.getBean通过上下文去拿bean。丫的加了一个@Transactional 就注入不了了真的是老项目, 写的心累啊
2019-09-29 21:12:34 122
原创 Mac上zookeeper的安装与启动
下载文件下载zktar -zxvf zookeeper-3.4.10.tar.gz //解压cd zookeeper-3.4.10/conf //切换到配置目录下mv zoo_sample.cfg zoo.cfg //更改默认配置文件名称vi zoo.cfg //编辑配置文件,自定义dataDir启动cd zookeeper-3.4.10/bin //切换到 bin目录./z...
2019-09-09 15:32:38 1072
原创 常用的Linux操作命令
作为一名java程序员,尤其是线上维护,查看日志这里列出我常用的一些命令1、jps -l常看可以输出主函数的完整路径(类的全路径)。 基本上你就能找到你需要的进程 然后kill他jps 原理java程序在启动以后,会在java.io.tmpdir指定的目录下,就是临时文件夹里,生成一个类似于hsperfdata_User的文件夹,这个文件夹里(在Linux中为/tmp/hsperfda...
2019-08-23 15:12:20 132
转载 mac中安装、启动ActiveMQ
1、下载apache-activemq-5.13.1-bin.tar.gz下载地址:http://download.csdn.net/download/u014223912/94647472、下载后解压3、进入到/apache-activemq-5.13.1/bin/macosx目录cd /Users/zhangsan/Documents/tools/apache-acti...
2019-05-01 11:31:24 569
转载 浅谈库存扣减和锁
先说场景:物品W现在库存剩余1个, 用户P1,P2同时购买.则只有1人能购买成功.(前提是不允许超卖)秒杀也是类似的情况, 只有1件商品,N个用户同时抢购,只有1人能抢到..这里不谈秒杀设计,不谈使用队列等使请求串行化,就谈下怎么用锁来保证数据正确.常见的实现方案有以下几种:1.代码同步, 例如使用 synchronized ,lock 等同步方法2.不查询,直接更新 u...
2019-04-24 11:28:14 1073 2
原创 Mybatis处理列名—字段名映射(一) — 驼峰式命名映射
1.驼峰式命名开关,或者不开,数据库列和字段名全一致。<settings> <!-- 开启驼峰,开启后,只要数据库字段和对象属性名字母相同,无论中间加多少下划线都可以识别 --> <setting name="mapUnderscoreToCamelCase" value="true" /></settings>阅读源码发现直...
2019-02-20 18:58:24 1979
原创 Maven下载特别卡的问题
大概率知道是自己Maven配置镜像的问题 网上找了好多 但都是不行可能是时间的原因 或者其他的原因,总之就是不行提供一种绝对可行的<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <u
2019-01-21 21:49:39 547
原创 月内计划
发现自己很久都没怎么看书了,一直在为了实现而实现。准备花一个月的时间把很多基础性的东西过一遍虽然说的都是基础性的东西但是都是非常的重要的java基础java多线程jvm虚拟机数据库 设计还有 spring过一遍 加深对java的理解区块链 暂时搁置了...
2019-01-13 18:40:10 182
原创 SQL优化的一些策略
**一、一些常见的SQL实践(1)负向条件查询不能使用索引select * from order where status!=0 and stauts!=1not in/not exists都不是好习惯可以优化为in查询:select * from order where status in(2,3)(2)前导模糊查询不能使用索引select * from order where d...
2019-01-13 17:17:05 590
原创 面试总结
1、spring Bean的生命周期2、spring Bean的构造注入3、依赖内部spring服怎么注入4、mybatis二级缓存5、juc countDownlanch6、线程的实现方式7、hashMap为什么是线程不安全的8、sql别名问题...
2019-01-04 19:37:58 181
原创 for循环list remove元素
for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")) list.remove(i);}这种方式的问题在于,删除某个元素后,list的大小发生了变化,而你的索引也在变化,所以会导致你在遍历的时候漏掉某些元素。比如当你删除第1个元素后,继续根据索引访问第2个元素时,因为删除的关系后面的元素都往前移...
2019-01-01 17:55:42 9733 1
转载 jclasslib安装
学习一个jvm的知识的时候总要去研究一些字节码指令,但是每一次都把class文件打开到jclasslib里面很是麻烦,后来google发现有人已经写好了这个插件1、 按住 ALT+CTRL+S 打开setting2、 选择 plugins3、选择 Browse Repositories ,搜索 jclasslib由于我已经安装成功了,所以在红色框框里面没有install选项,如果没有...
2018-12-25 14:08:05 20044 4
原创 docker 挂载本地目录
docker run -it -v /home/dock/:/home/mount/ --name first ubuntu:16.04 bin/bash
2018-12-19 09:23:20 556
原创 docker入门 springboot+redis(宿主机)+mysql(宿主机)
先把项目打成jar包移动到文件夹touch dockerfile编写dockerfilevim dockerfileFROM docker.io/centos:latestLABEL app="springboot2" version="0.0.1" by="youjia" #安装应用执行的环境javaRUN yum -y install java #将指定的jar文件复制...
2018-12-18 10:47:00 1456
原创 阿里云配置mysql8.0
https://blog.csdn.net/Liqinghai058/article/details/80434504真的恶心就是没法连接,待研究
2018-12-17 17:07:28 536
原创 sharding-jdbc分库实战
参考文档http://shardingsphere.io/配置Java配置 较为繁琐,但是至少是java语言比较清晰,而且复杂的分片逻辑可以用java语言来实现更为方便(强烈推荐) 我上一些网站和论坛,大部分都会采用这种,因为逻辑可能较为复杂。Yaml配置 比较简单清晰,很难处理复杂的分片逻辑(推荐)springboot配置 low版yaml配置 (不推荐)spring命名空间配置 繁琐...
2018-12-13 16:15:44 590
原创 linux安装mysql 5.7
安装过程中遇到了好多坑,查网上的一看原来都是5.6的版本,又找了5。7版发现support里面没有配置文件后面还是采用这种方法靠谱https://www.cnblogs.com/indifferent/p/9179554.html...
2018-10-16 14:42:20 121
转载 resultMap之collection聚集两种实现方式
最近做得项目用到了MyBatis处理一对多的映射关系,下面的两个方法中用到了集合的嵌套查询方法,下面仔细学习一下这两种方式聚集元素用来处理“一对多”的关系。需要指定映射的Java实体类的属性,属性的javaType(一般为ArrayList);列表中对象的类型ofType(Java实体类);对应的数据库表的列名称;不同情况需要告诉MyBatis 如何加载一个聚集。MyBatis 可以用两种方式...
2018-10-12 13:52:26 3115
原创 Mysql索引整理
MySQL中索引的优点和缺点和使用原则 优点: 1、所有的MySql列类型(字段类型)都可以被索引,也就是可以给任意字段设置索引 2、大大加快数据的查询速度 缺点: 1、创建索引和维护索引要耗费时间,并且随着数据量的增加所耗费的时间也会增加 2、索引也需要占空间,我们知道数据表中的数据也会有最大上线设置的,如果我们有大量的索引,索引文件可能会比数据文件更快达到上线值 3、当对表中的数...
2018-09-17 09:00:01 334
原创 ArrayList源码学习
1、ArrayList 优点 1)支持自动改变大小的功能 2)可以灵活的插入元素 3)可以灵活的删除元素二、局限性跟一般的数组比起来,速度上差些。 因为它是动态数组,初始化大小容量4,当数据存满时扩容是以当前数组容量大小的2倍扩容,之后再把数组元素一个一个的存入,数组在扩容时浪费一定的内存空间,和存储时间,而且,元素添加是一个装箱的过程,所以说,跟一般的数组比起来,速度上差些...
2018-09-07 16:26:02 125
原创 B树研究
1、首先先理解什么是B树,很多国内的直译B树都叫B-树其实这样是不对的,B-Tree所以直译过来变成了B-树,其实这里的-就是一种连接符号,所以B-树就是B树我们直接理解B树就好了2、B树是为了磁盘或者其他存储设备而设计的一种多叉平衡树,设置是为了降低io操作更快的找到想要的数据,而且磁盘是一种硬件结构,查找附近的速度远远大于查找比较远的地址3、B树与红黑树最大的不同在于,B树的结点可以有...
2018-09-03 11:07:40 164
原创 B+树的研究
B+树是为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树中,所有记录节点都是按键值的大小顺序存放在同一层的叶节点中,各叶节点指针进行连接。首先,上一篇我们已经研究了B树的优点可以减少io,然后对比b树,B+树到底好在哪里呢 ?由于B+树的数据都存储在叶子结点中,分支结点均为索引,方便扫库,只需要扫一遍叶子结点即可,但是B树因为其分支结点同样存储着数据,我们要找到具体的数据,需要...
2018-09-03 11:06:57 239
原创 idea 创建多模块依赖Maven项目
本来网上的教程还算多,但是本着自己有的才是自己的原则,还是自己写一份的好,虽然可能自己也不会真的用得着。 1. 创建一个新maven项目2.3. 输入groupid和artifactid,后面步骤直接next,最后finish4.创建好后5. 在主项目名称上点右键,创建第一个子模块678 同理,在创建一个模块,创建好后 9 打...
2018-08-17 14:24:10 641
原创 Hyperledger fabric 1.2 版本搭建第一个网络
1、首先需要有的工具docker go2、git clone -b master https://github.com/hyperledger/fabric-samples.git下载项目3、下载docker镜像二进制文件cd fabric-samples/scripts./bootstrao.sh下载二进制文件4、# (1)进入samples cd fab...
2018-08-14 15:01:47 1695
转载 Java同步机制之Monitor监视器与syncrhoized实现原理
一:Monitor Monitor是一个同步工具,相当于操作系统中的互斥量(mutex),即值为1的信号量。 它内置与每一个Object对象中,相当于一个许可证。拿到许可证即可以进行操作,没有拿到则需要阻塞等待。 二:syncrhoized实现原理 syncrhoized又叫做内置锁,为什么呢?因为使用syncrhoized加锁的同步代...
2018-08-13 16:26:07 772
转载 封装异常
一、分析 Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是Java API提供的异常都是比较低级(这里的低级指的是“低级别的异常”),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。 这就需要我们对异常进行封装了。 二、场景 异常封装有三方面的优点: 1.提高系统的友好性 例如,打开一个文件,如果文...
2018-08-13 11:52:49 396
转载 Gradle打jar包如何上传到maven本地库
前言 本篇教程偏向实战,程序猿直接copy代码加入到自己的项目中做简单的修修改改便可使用,而对于Gradle以及Maven不在此进行展开介绍,如有读者希望了解可以给我留言,并持续关注,我后续会慢慢更新。(黑色区域代码部分,安卓手机可手动向左滑动,来查看全部代码) 定义Maven是一个项目管理和自动构建工具。Gradle是一个基于Apache Ant和Apache Mave...
2018-08-09 21:44:20 4867 1
转载 iterm2 快捷键大全 Mac item2常用快捷键
标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 垂直分屏:command + d 水平分屏:command + shift + d 切换屏幕:comma...
2018-08-05 10:49:28 463
转载 kafka入门教程
1. 安装kafka$ brew install kafka(1) 安装过程将依赖安装 zookeeper(2) 软件位置/usr/local/Cellar/zookeeper/usr/local/Cellar/kafka(3) 配置文件位置/usr/local/etc/kafka/zookeeper.properties/usr/local/etc/ka...
2018-07-30 22:46:22 139
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人