-
16
热度 -
[综合] 设计模式-代理模式(jdk代理和cglib代理详解)
说起代理模式,相信很多人早已经很理解,但对于我这个菜鸟,理解的可能还是不到位,写一次博客加深印象。 什么是代理模式呢?代理模式是常用的Java设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类和委托类之间通常会存...
38
热度 -
[综合] EhCache与Redis的比较
1.基本介绍 EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,JavaEE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一...
68
热度 -
[综合] Zookeeper中的选举机制
目录 1.全新集群的选举机制 2.非全新集群的选举机制 正文 Zookeeper虽然在配置文件中并没有指定master和slave,但是,zookeeper工作时,是有一个节点为leader,其他则为follower。leader是通过内部的选举机制临时产生的。 选举机制大致可以分为以下两种: ...
97
热度 -
[综合] 项目数据处理遇到的问题和优化
当前开发项目需求:需要上链一天10万条数据,后台使用网关暴露服务 (只是一家ISV10万,后期可能数据量非常大,需要转移数据) (区块链溯源Baas平台,提供安全管理服务) 一、单条数据请求,数据验证后发送到链上同步返回。 二、批处理支持两百条同时请求,简单验证后入消息队列异步返回。(考虑数据上链需...
55
热度 -
87
热度 -
[综合] shell 中的$0 $1 $* $@ $# $$ $? $() $(())
$0:脚本本身文件名称 $1:命令行第一个参数,$2为第二个,以此类推 $*:所有参数列表 $@:所有参数列表 $#:参数个数 $$:脚本运行时的PID $?:脚本退出码?与@的区别当命令行为test.sh123 "$*“表示"123” "$@“表示"1”“2”“3” 二者没有被引号括起来时是一样的...
21
热度 -
[综合] MCU 和 SOC 的区别
1、CPU(CentralProcessingUnit),是一台计算机的运算核心和控制核心。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeba...
93
热度 -
[综合] 常用域名后缀所代表的含义
目前一共有252个域名后缀,但是,其中只有3个可以在全球范围内使用,它们是:.com,.net和.org。最流行的域名后缀是.com,目前已经有2000万个左右使用.com的域名。在244个地区性域名中,有一些管理者允许任何人进行注册,如代表图瓦卢(Tuvalu)的.tv。不过,这些地区性域名最初是...
32
热度 -
[综合] 为什么协程切换的代价比线程切换低?
先说结论:协程切换比线程切换快主要有两点: (1)协程切换完全在用户空间进行,线程切换涉及特权模式切换,需要在内核空间完成; (2)协程切换相比线程切换做的事情更少。 协程切换 协程切换只涉及基本的CPU上下文切换,所谓的CPU上下文,就是一堆寄存器,里面保存了CPU运行任务所需要的信息:从哪...
20
热度 -
[综合] could not find java;set JAVA_HOME or ensure java报错
问题一: 在安装logstash时出现如下报错:“couldnotfindjava;setJAVA_HOMEorensurejavaisinPATH chmod:cannotaccess‘/etc/default/logstash’:Nosuchfileordirectory warning:%po...
82
热度 -
[综合] 使用canal同步mysql数据到es
需求:传统数据库搜索速度非常慢,需要依赖搜索引擎实现快速搜索。(使用canal实现无侵入数据异构) canalserver:用于伪装mysqlslave获取mysqlbinlog。canaladapter:提供多种中间件的导入,如kafka、rocketmq、hbase、elasticsearch,...
96
热度 -
[综合] MySQL explain中key_len的计算
key_len表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。在计算key_len时,下面是一些需要考虑的点: 索引字段的附加信息:可以分为变长和定长数据类型讨论,当索引字段为定长数据类型时,如char,int,datetime...
89
热度 -
[综合] 浅析MySQL内存的使用说明(全局缓存+线程缓存)
首先我们来看一个公式,MySQL中内存分为全局内存和线程内存两大部分(其实并不全部,只是影响比较大的部分): 复制代码代码如下: per_thread_buffers=(read_buffer_size+read_rnd_buffer_size+sort_buffer_size+thread_sta...
33
热度 -
[综合] 如何理解x(-x)和x(x-1)
最近看算法题,涉及到两个很经典的位运算: x&(-x):保留二进制下最后出现的1的位置,其余位置置0(即一个数中最大的2的n次幂的因数 x&(x-1):消除二进制下最后出现1的位置,其余保持不变 具体分析如下: 我们可以从看待字符串的角度去思考这件事。 二进制下的数字都可以写成...
70
热度 -
[综合] 什么是指针压缩?如何开启和关闭指针压缩?为什么要进行指针压缩?有哪些注意的地方?
什么是指针压缩呢? 从jdk1.6开始在64位的操作系统中就JVM就支持指针压缩。 如何开启和关闭指针压缩? jvm配置参数:UseCompressedOops,compressed--压缩、oop(ordinaryobjectpointer)--对象指针。启用指针压缩:-XX:+UseCompre...
82
热度 -
[综合] HDOJ 1029 Ignatius and the Princess IV
HDACM1029 关于这一题,我们要认识一下: java.io.StreamTokenizer因为按习惯是采用 Scannersc=newScanner(System.in) 这种方式去从控制台接收参数的,但是对于百万数据来说,采用这个函数来接收速度是远远不够的。 那么开始认识StreamTo...
61
热度 -
[综合] HDOJ 1017 A Mathematical Curiosity
HDACM1017 注意输出格式 importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){intnum[]=newint[101];for(inti=1;i<num.length;i++){nu...
104
热度 -
[综合] HDOJ 1031 Design T-Shirt
HDACM1031 importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);while(sc.hasNext()){intn=sc.ne...
50
热度 -
[综合] HDOJ 1033 Edge
HDACM1033 题意就是画线,A表示顺时针旋转90度,v表示逆时针旋转90度。 importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in...
70
热度