
技术
文章平均质量分 86
talent210
程序员
展开
-
JAVA基础太好自信心膨胀是否会导致效率低下
写这个标题只是在工作中遇到实际问题。声明下个人JAVA基础实在不好遇到过3个JAVA好的人,不是我面试,只是从写代码看的出基础扎实。1, 业务需要做JSON解析, 这实在有太多的组件可用。为啥发现这个问题呢,因为序列花反序列化经常出错, 我看看啥原因原来花了1周自己写了个。效率先不提,复杂的数据有特殊字符时经常出错。2,我出去面试时,自然没通过,聊到网关,面试官说他自己写了个网关,公司都在使用。可是与主流开源系统无法集成,写好又不维护,没有动态配置,只能做个反向代理。除了炫技术,我实在不知.原创 2020-06-06 14:23:16 · 266 阅读 · 0 评论 -
spring cloud gateway 使用VI( ctrip. cornerstone)
本文使用的是0.2.3版本接入过程需要重新多个实现类AppHandler SecurityUtil VIApiHandler 等原创 2020-06-02 19:12:37 · 735 阅读 · 0 评论 -
redis-database
码代码时遇到一个奇怪问题:2个业务系统连接了同一个redis同一个key获取的返回值不一样原因:手残的一个业务系统使用了redisStandaloneConfiguration.setDatabase(15);...原创 2019-12-07 14:00:14 · 255 阅读 · 0 评论 -
webflux springcloud gateway 接口监控
分布式追踪系统和中间件,包括Opentracing、Uber Jaeger、Twitter Zipkin、Apache Skywalking、Pinpoint、CATOpenTracing已进入CNCF,正在为全球的分布式追踪系统提供统一的概念、规范、架构和数据标准。它通过提供平台无关、厂商无关的API,使得开发人员能够方便的添加(或更换)追踪系统的实现。对于存在多样化的技术栈共存的调用链中,...原创 2019-12-05 09:43:24 · 2110 阅读 · 0 评论 -
redis scan代码示例
删除bigkey1. 下面操作可以使用pipeline加速。2. redis 4.0已经支持key的异步删除,欢迎使用。1. Hash删除: hscan + hdelpublic void delBigHash(String host, int port, String password, String bigHashKey) { Jedis jedis = new Je...原创 2019-11-28 10:12:38 · 397 阅读 · 0 评论 -
阿里云SLB HEAD监控检测
Cannot forward to error page for request [/] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Applicati...原创 2019-11-22 17:41:33 · 746 阅读 · 1 评论 -
3分钟认识 Liquid
Liquid是什么?Liquid 是一种模板语言。类似JSP 、freemakerLiquid语法详细的就不介绍了。 简单例子:{{ page.title }} 输出:Introduction类似JSP EL表达式 ${page.title}如何构建Liquid执行环境liquid如何运行?只看到在jekyII中运行,是JekyII支持的一种模板语言(以及Markdo...原创 2019-11-12 12:45:03 · 2368 阅读 · 0 评论 -
pinpoint HBASE 数据库初始化
1, pinpoint 1.9之前只支持hbase 1.x。 亲测使用hbase 2.x不兼容2,初始化hbase方式有2种2.1 使用hbase shell执行 hbase-create.hbase 此方式网上很多例子 不在介绍2.2 1.9 版本后使用JAVA程序执行 (测试时,使用master分支版本自己编译的)1) 下载master 版本1.9.0-snapshot 编译...原创 2019-10-30 17:23:33 · 1540 阅读 · 0 评论 -
CAS 服务器搭建
说明:4.X 基于MAVEN 版本 5.X 以及以后都是基于gradle 很不幸本人不会gradle 公司也不使用gradle6.x需要 JDK11, 所以本说明 基于5.3.0 + JDK8 eclipse环境参考: https://apereo.github.io/cas/developer/Build-Process-5X.html本地环境安装好gradle5.6.1 一定要配...原创 2019-08-31 17:12:35 · 237 阅读 · 0 评论 -
用户登录增加密码RSA加密验证功能
具体实现思路如下:1。服务端生成公钥与私钥,保存。2。客户端在请求到登录页面后,随机生成一字符串。3。然后此随机字符串作为密钥加密密码,再用从服务端获取到的公钥加密生成的随机字符串。4。将此两段密文传入服务端,服务端用私钥解出随机字符串,再用此私钥解出加密的密文。这其中有一个关键是解决服务端的公钥,传入客户端,客户端用此公钥加密字符串后,后又能在服务端用私钥解出。加密算原创 2013-08-21 14:25:39 · 2330 阅读 · 0 评论 -
openfire 集群 http-bind 负载均衡
本次测试各版本说明:apache 2.2 openfire 3.8.1 集群插件:hazelcast1,修改openfire代码1.1 HttpBindManager.java 1.2修改conf/openfire.xml增加下面配置true 此行是用来默认开启集群 openfire_e 2,通过JSESSIONID原创 2013-06-14 10:45:25 · 3674 阅读 · 11 评论 -
Windows7 下memcached memadmin的安装与使用
1,下载memcached安装文件http://code.jellycan.com/memcached/http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip解压后可以看到memcached.exe直接运行。memcahed就运行成功了。2.使用代码测试(java)public static void main(原创 2013-04-22 17:25:38 · 2130 阅读 · 0 评论 -
servlet & jsp
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法Servlet初始化阶段: 在下列时刻Servlet容器装载Servlet: 1,Servlet容器启动时自动装载某些Servlet,实现它只需要在web.XML文件中的之间添加如下代码:1转载 2012-08-03 10:07:38 · 614 阅读 · 0 评论 -
maven
Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,初学者容易将Maven的生命周期看成一个整体,其实不然。这三套生命周期分别是:Clean Lifecycle 在进行真正的构建之前进行一些清理工作。Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。Site Lifecycle 生成项目报告,站点,发布站点。每套生命周期转载 2013-02-28 14:55:15 · 514 阅读 · 0 评论 -
Windows的系统信息
# CPU UsageCPU总使用率。在右边CPU Usage History中可以看到其使用历史,我们可以注意到有两条线:红的那条量比较小的是内核的使用率,而绿色的则表示总的使用率。如果你的系统时不时的卡一下,通过查看每个进程的使用率又因为太快而捕捉不到,看看历史,把鼠标移到之前某个波峰上,就会跳出个tooltip,谁在捣鬼自然一目了然。当然,如果是多核的机器,可以把最下面那个"Show转载 2013-03-14 11:15:12 · 624 阅读 · 0 评论 -
JMS
JMS即Java消息服务(JavaMessage Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 使用JMS的原因: 1、松散耦合但是高内聚。使用消息服务的客户机不需要实现通用接口,不需要了解对方。转载 2012-08-03 10:33:01 · 817 阅读 · 0 评论 -
高并发
一:高并发高负载类网站关注点之数据库没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主 -从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作。我推荐的是M-M-Slave转载 2013-01-24 16:53:52 · 2082 阅读 · 0 评论 -
database DML
JOIN和UNION区别join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。union只是将两个结果联结起来一起显示,并不是联结两个表 JOIN用于按照ON条件联接两个表,主要有四种:INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。我转载 2012-08-03 10:20:56 · 846 阅读 · 0 评论 -
java core
在java中可以利用break、continue和label控制循环跳转。一、单重循环break + label: 结束label后的循环体:public static void main(String[] args) { String o=""; z: for(int x=3;x if(x==6) break z转载 2013-01-09 13:15:05 · 413 阅读 · 0 评论 -
Leader
领导开发团队1.领导和管理 人们乐于被领导;他们不喜欢被管理,不喜欢像牛一样被驱赶或指挥。 管理者强迫人们服从他们的命令,而领导者则会带领他们一起工作。 管理是客观的,没有个人感情因素,它假定被管理者没有思想和感受,必须被告知要做什么和该如何做。管理适合处理无生命的对象或者例行公事。 领导是引领、引导,它激励人们达成目标。领导力是带有强烈个人感情色彩的,它不是你转载 2013-02-25 15:53:51 · 633 阅读 · 0 评论 -
优化代码
优化准则:优化代码可能会引入新的BUG,优化后功能测试优化代码一般会让代码更难理解和维护 必须要很好的注释跨平台的优化,要用目标平台j2ee相关a) 尽量不要将大对象放到HttpSession或其他须序列化的对象中,并注意及时清空Sessionb) 使用预编译语句prepareStatement代替createStatementc) 尽可能使用连接池d) 能使用转载 2013-02-25 13:45:47 · 404 阅读 · 0 评论 -
database 理论
关系数据库有几种设计范式?第一范式(1NF):表中的任何一列或者一组列不允许有重复值,如果出现重复值,先创建一个包含这些列的新表,然后在旧表中创建外键关联新表。满足第一范式是对关系数据库的最基本要求;强调的是列的原子性,即列不能够再分成其他几列。考虑这样一个表:【联系人】(姓名,性别,电话)如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。要符转载 2012-08-03 10:13:40 · 497 阅读 · 0 评论 -
mybatis 主键&存储过程
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能针对Sequence主键而言,在执行insertsql前必须指定一个主键值给要插入的记录,如Oracle、DB2,可以采用如下配置方式: SELECTSEQ_TEST.NEXTVAL FROM DUAL转载 2012-12-13 16:54:51 · 705 阅读 · 0 评论 -
高性能-杂
Jsp中有大量js和css,如何提高页面加载速度?1,开启GZIP2,给样式,JS各建立二级域名分别加载3,压缩样式,JS4, 把零碎的文件合并成一个转载 2013-01-24 17:04:59 · 323 阅读 · 0 评论 -
JDBC
利用JDBC获取新插入记录id的三种方法在一对多的关联操作中,通常在一方插入记录后,需要获取到当前记录的id,以方便进行多方的插入操作。要解决这一问题,在JDBC中至少有三种不同的实现方法:1.在插入语句后添加一条查询,利用resultset来得到id号psmt = con.prepareStatement ("insertinto orders(receiver,addre转载 2012-12-13 15:04:51 · 496 阅读 · 0 评论 -
Tomcat 启用https
Tomcat 6.0.24配置HttpsTomcat支持JSSE或者APRConnector.在配置SSL时是不同的。TOMCAT 6.0.24默认AprConnector一) JSSE SSL1, 生成 server key:在command命令行输入如下命令Tomcat服务器–keypass & -storepass的值需要相同原创 2013-08-21 14:23:38 · 812 阅读 · 0 评论 -
zookeeper 节点信息查询
zkuizooviewer https://github.com/HelloKittyNII/ZooViewer1.zk浏览器客户端https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip解压缩后点击ZooInspector\build\zookeeper-dev-ZooInspector.ja...原创 2019-07-16 13:36:20 · 2535 阅读 · 0 评论 -
mysql explain解释
id SELECT识别符。这是SELECT的查询序列号 select_type SELECT类型,可以为以下任何一种: SIMPLE:简单SELECT(不使用UNION或子查询) PRIMARY:最外面的SELECT UNION:UNION中的第二个或后面的SELECT语句 DEP...转载 2019-07-15 09:36:08 · 123 阅读 · 0 评论 -
TIME_WAIT CLOSE_WAIT
在服务器的日常维护过程中,会经常用到下面的命令:netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'它会显示例如下面的信息:TIME_WAIT 814CLOSE_WAIT 1 FIN_WAIT1 1ESTABLISHED 634SYN_RECV 2LAST_ACK 1TI...转载 2019-07-12 17:56:22 · 131 阅读 · 0 评论 -
错误代码合集
1, create_time +1 > SYSDATE 改成 create_time > SYSDATE-1。 这样才能走搜索引擎2,原创 2018-05-30 10:49:10 · 609 阅读 · 1 评论 -
<url-pattern>/</url-pattern>和<url-pattern>/*</url-pattern>区别 <url-pattern>/</url-pattern>表示的为只匹配/lo
/表示的为只匹配/login和/demo后面不带.xxx的网页/*表示匹配的为所有网页包括.jsp/.js/.html的这些网页在Spring中的Springmvc配置中url-pattern应该使用/不然会导致jsp页面无法被解析,由于都被DispatcherServlet给转发了转载 2017-07-21 15:28:07 · 837 阅读 · 0 评论 -
urlrewrite
outbound-rule得配合C标签使用或用才能在页面上正常显示例如: ">aOR">aOR通过自定义标签前台: ">a标签:pageContext.getOut().write(url);转载 2016-04-13 10:08:57 · 283 阅读 · 0 评论 -
JCONSOLE 监控TOMCAT内存
首先,修改Tomcat的bin目录下的catalina.bat文件,在JAVA_OPTS变量中添加下面四行,即可set JAVA_OPTS= %JAVA_OPTS% -Djava.rmi.server.hostname=192.168.1.17set JAVA_OPTS= %JAVA_OPTS% -Dcom.sun.management.jmxremote.port=8888set J转载 2016-11-07 10:20:00 · 398 阅读 · 0 评论 -
数据库设计
不依赖于数据存储系统是分层设计思想的精华,实现战略性能最大化,而不是追求战术单机性能最大化。 不要迷信数据库性能,不要迷信三范式,不要使用外键,不要使用byte,不要使用自增id,不要使用存储过程,不要使用内部函数,不要使用非标准sql,存储系统只做存储系统的事。当出现系统性能时,如此设计的数据库可以更好的实现迁移数据库(如mysql->oracle),实现nosql改造((mongodb转载 2016-10-09 09:28:29 · 281 阅读 · 0 评论 -
java socket
IO在不同层次有不同的概念和单位。一次IO就是一次请求,对于磁盘来说,一个IO就是读或者写磁盘的某个或者某段扇区,读写完了,这个IO也就结束了。寄存器和内存之间的数据通信不叫IO,寄存器,内存和外围设备的通信才叫IO.还有有些socket函数的操作,是内存和网卡之间的数据通信.所以也是IO操作。IO操作速度慢,耗时.而寄存器和内存之间传输数据则非常快,这两个不在一个数量级.原来转载 2012-08-03 10:37:48 · 1424 阅读 · 0 评论 -
Tomcat 静态资源处理(图片==)
首先所有的请求进入tomcat,都会流经servlet,如果没有匹配到任何应用指定的servlet,那么就会流到默认的servlet。默认的servlet是配置在$catalina/conf/web.xml里面的。tomcat初始化一个context的时候就会初始化context下面所有的 servlet,包括默认的servlet default org转载 2013-03-25 14:04:12 · 3782 阅读 · 1 评论 -
JAVA SOCKET bytebuffer 堆外内存
广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指定持久代的最大值,那么我们认识的Java堆的最大值其实是-Xmx和-XX:MaxPermSize的总和,在分代算法转载 2016-07-05 14:26:42 · 2084 阅读 · 0 评论 -
JAVA SOCKET学前知识点-内存
物理内存 顾名思义,是实实在在的、插在板子上的那个内存条。虚拟内存 指在硬盘中开辟出的、用于辅助物理内存交换数据的那部分空间(内存文件),因为现在软件所需要的内存都很大,在内存不足时,系统会把一些内存里面的文件临时存放在硬盘上,这就是虚拟内存。 而准确的“虚拟内存”(Virtual Memory)定义是指操作系统以物理内存、页面文件等虚拟出的整个内存空间。Windows的转载 2016-07-05 11:49:52 · 594 阅读 · 0 评论 -
为什么JSP渲染比常用模板(freemarker\Velcoity\beetl)慢
这些提升性能方法有:模板引擎将模板文件编译成class运行。模板中的静态部分采用二进制输出,不需要CPU运行的时候再转码合并模板中的静态部分一起输出,而不是每一行每一行输出第一: JSP对静态文本处理的不够好。如果你看看JSP编译的后的java代码(以Tocmat7为例),你会发现,JSP并没有优化好静态文本输出。如下一个JSP代码"java" co转载 2016-07-15 11:06:17 · 2756 阅读 · 0 评论 -
EJB JPA
JPA EntityManager详解(一)持久化上下文(Persistence Contexts)的相关知识,内容包括如何从Java EE容器中创建EntityManager对象、如何从Java SE中创建EntityManager对象、持久化上下文与事务(Transction)的关系,以及实体管理器工厂(Entity Manager Factory)的相关内容。通过本章的学习,读者转载 2013-11-27 22:09:08 · 895 阅读 · 0 评论