基础技术
wuaiqian
这个作者很懒,什么都没留下…
展开
-
Redis笔记1(数据结构)
redis的特点 (1)优点 数据结构丰富----方便操作,比如队列的先进先出,hash结构O(1)的快速查询,sorted-set有序集合方便获取排名 数据在内存操作—快速 单线程处理—避免锁 非阻塞式IO多路复用—充分利用网络IO 设计简单,效率高 方便扩展,不像mysql一样分库分表,只要简单扩大内存,或增加redis个数 (2)缺点 Rdb备份不具备实时性 Aof持久化比较消耗内存和cp...原创 2018-11-01 11:04:21 · 163 阅读 · 0 评论 -
Jedis代码走读
核心类:redis.clients.jedis.Jedis (以set为例) Jedis#set(String, String, SetParams) Client#set(String,String,SetParams) BinaryClient#set(byte[], byte[], redis.clients.jedis.params.set.SetParams) Connection#...原创 2019-02-13 17:58:31 · 160 阅读 · 0 评论 -
JAVA编程问题总结
加密算法打包时出错 Cipher.getInstance(“DES/ECB/NoPadding”); 编码算法选择问题 error_prone_core扫描出来 java.security.InvalidKeyException: Parameters missing Cipher.init(Cipher.DECRYPT_MODE, deskey); 改为 byte[] iv = new sun....原创 2019-02-19 15:58:57 · 417 阅读 · 0 评论 -
Kafka相关
消息发送 producer 采用 push 模式将消息发布到 broker,每条消息都被 append 到 patition 中,属于顺序写磁盘(保障吞吐率)。 日志文件的删除策略:启动一个后台线程定期扫描log file列表,把保存时间超过阀值的文件删除,为避免删除文件时仍然有read操作(consumer消费),采取copy-on-write方式。 producer 发送消息到 brok...原创 2019-02-19 18:01:12 · 156 阅读 · 0 评论 -
Collections集合接口
HashMap:数组+单链表维持哈希表,冲突节点头插 LinkedHashMap:继承HashMap,双链表维持哈希表,可保证数据的有序性,冲突节点尾插 ConcurrentHashMap TreeMap:红黑树,支持排序的map,相对于HashMap PriorityQueue:优先队列,内部是一个最小堆,根节点最小 WeakHashMap(常用于缓存):使用同HashMap,不过WeakH...原创 2019-03-04 10:16:05 · 466 阅读 · 0 评论 -
mysql中的排序
单字段排序 select name, hex(name) from a order by name desc; 实际以字节码进行排序,第一个字相同时则比较第二个字的字节码。单字段排序时,其他字段按照自然排序。 多字段排序 select * from a order by code, name desc; MySQL先以code做降序排序,在该基础上再使用name降序排序。 另外还可以使用con...转载 2018-10-31 11:52:31 · 257 阅读 · 0 评论 -
Linux后台运行程序
问题:mac终端中执行程序(比如运行jar包),当终端断开时程序也会运行中断 当用户注销(logout)或网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。 解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新会话里成为不属于此终端的子进程。 nohup 的用途就是让提交的命令忽略 hangup 信号 nohup 使用方便,只需命令前加 nohup ,标准...转载 2018-11-16 10:53:40 · 84 阅读 · 0 评论 -
Logback阅读
1.设置文件写入 ch.qos.logback.core.rolling.RollingFileAppender ch.qos.logback.core.FileAppender#start(打开日志文件openFile()) ch.qos.logback.core.OutputStreamAppender#start ch.qos.logback.core.UnsynchronizedAppen...原创 2018-12-12 14:58:53 · 300 阅读 · 0 评论 -
数据结构与算法相关
原子类 Hbase:Hbase中HLog使用AtomicLong作为日志序列号,因为一个RS的多个region会并发写入HLog,使用AtomicLong保证线程安全。 Kafka:生产者消息分发Partition—如果消息有key,使用key的哈希值与分区个数取模;如果没有key,使用AtomicInteger累加的counter与分区个数取模获取要发送的分区。(负载均衡) 特殊数据结构 Mys...原创 2019-02-21 17:26:23 · 98 阅读 · 0 评论 -
AQS解析
AbstractQueuedSynchronizer即抽象队列同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch。 它维护了一个volatile int state(代表共享资源)和一个FIFO双端队列(多线程争用阻塞时线程进入此队列尾部,队列头节点是成功获取锁的线程,当头节点释放...原创 2019-02-22 21:46:51 · 134 阅读 · 0 评论 -
数据库连接池简介
出现背景 需要数据库连接得到高效、安全的复用,避免数据库连接频繁建立、关闭的开销。 对共享资源有一个设计模式(资源池)来解决资源频繁分配、释放造成的问题。把该模式应用到数据库连接管理领域,就是建立数据库连接池。 基本原理是在内部对象池维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。 第一代连接池 一般采用单线程同步的架构设计的都属于第一代连接池,而采用多线程异步架构的则属于第二...原创 2019-03-11 11:04:14 · 115 阅读 · 0 评论