- 博客(49)
- 收藏
- 关注
HTTP的GET请求RUL保留字处理方式(多个解决方案)
背景:最近花了一天在处理一个生产环境问题,客户端(发送数据):通过HTTP的GET请求,传输参数中带有“+”加号。服务端(接收数据):“+”加号变为空格。因为是签名数据,导致服务端验证签名不通过,算比较严重的问题。 解决问题示例(多个解决方案):示例1(请求url的参数采用直接拼装的方式)(失败):package com.qhfax.test;impor...
2017-06-07 14:15:49
1179
Java开发人员学习书籍--5年工作中积累的130本电子书
Java开发人员学习书籍--5年工作中积累的130本电子书(花一天时间对现有电子书进行整理):
2017-05-28 20:01:05
292
原创 redis使用场景
会话缓存session控制访问频率防止洪水攻击限制IP在一段时间的最大访问量社交列表Hash类型用户收藏列表社交场景交集、并集、差集共同收藏共同爱好最新动态sorted set类型缓存热点数据,如可能读取数十万的数据分类栏目基于内存存储数据...
2017-05-27 15:18:06
450
原创 HTTPS原理浅析
参考:https://mp.weixin.qq.com/s/-qqr8iB_VgAcDkD6_rewfg总结:1、HTTP协议安全隐患:窃&听、伪装、篡改。通信内容无加密可能被窃&听。通信方身份无验证可能遭遇伪装。报文完整性无校验可能遭遇篡改。2、如何构造安全的HTTP,需解决哪些重点?防窃&听:内容加密(混合加密法:密钥RSA加密,内...
2017-05-23 11:52:22
221
原创 分布式数据库架构详解-超大门户百度案例(学习)
示例系统:存放百度SDK记录运营商游戏的交易信息1、背景(2012年左右):当时开始简单的主从结构,随着数据量增大、规模扩大、对高可用要求越来越高(之前从宕机两小时到后来五分钟),需要继续拓展。当时的数据库拆分、分库分表,数据库服务器达到4百台,只有一个DBA,每天的数据迁移、拓容很痛苦。当时数据库峰值能达到每秒2.5万笔。当时淘宝双十一每秒峰值30万笔。2、为什么使用my...
2017-05-23 10:53:21
341
原创 Redis和memcached对比
Memcachedredis类型key-value数据库key-value数据库过期策略支持支持数据类型单一数据类型五种数据类型持久化不支持支持主从复制不支持支持虚拟内存不支持支持 session放在memcached里面,memcached不容易宕机。购物车放redis...
2017-05-10 00:44:10
150
原创 Mybatis拦截器实现统计sql执行时间及打印完整sql语句
1、java拦截器类:package com.qhfax.extend.mybatis;import java.text.DateFormat;import java.util.Date;import java.util.List;import java.util.Locale;import java.util.Properties;import org.ap...
2017-05-08 19:29:55
1742
1
原创 快速定位问题方法:二分查找法
今天为了定位一个“ Subquery returns more than 1 row”的问题,基于查询sql少复杂,虽然能明显看出是子查询中返回多条记录导致报错,但问题是哪个数据导致的,父查询中有那么多挑记录?正常情况下呢,是要了解业务,一点点去分析问题出在哪里,数据是哪里?当为了快速定位,我看到了查询的sql是带有日期条件的,而且只是一个月内,数据量也不多。步骤一:那就采用“二...
2017-05-08 13:51:20
559
Java开发面试考察点
鉴于最近在招java开发人员,自己补充并整理的面试题、笔试题,总结一下主要考察点:1、逻辑思维能力2、代码编写能力3、数据库sql编写能力4、java基础5、web6、框架7、技术积累8、解决问题能力9、学习能力...
2017-05-08 13:20:14
441
原创 jvm原理(学习)
jvm:虚拟机、字节码、平台无关 程序计数器、java虚拟机栈、本地方法栈,线程私有。方法区、java堆:线程公有。 栈:保存参数、局部变量、中间计算过程和其他数据。方法区:类信息,常量池,静态字段,方法堆:java对象 方法区物理上存在于堆上,在堆的持久代里面;逻辑上,方法区跟堆是独立的。 jvm堆配置参数1、-Xms 初始化堆大小 默认物理内存的1...
2017-05-06 12:02:39
122
原创 互联网网站技术揭秘(学习)
1、为什么要掌握大型网站开发技术对于开发人员,可以仿照“京东网”,开发出一个类似京东网功能的网站。但就能让多少人访问的问题而言,也许超不过100人访问就瘫痪、卡死。“京东网”能承受几千万、上亿的访问量,差别就在于细节技术上。比方:钢铁厂造出的钢材可能用来造卫星的,铁匠铺造出来的钢材可能只能做个锄头。从事的人,在以后的行业发展,肯定也不一样。比方:百度要是用like查询做搜索的...
2017-05-05 21:56:43
370
原创 阿里面试回来,想和Java程序员谈一谈
原文出处: 挨踢江湖引言其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。其实之前LZ写过一...
2017-05-05 09:37:05
129
原创 面试总结
Java相关Java GC机制(重要程度:★★★★★)主要从三个方面回答:GC是针对什么对象进行回收(可达性分析法),什么时候开始GC(当新生代满了会进行Minor GC,升到老年代的对象大于老年代剩余空间时会进行Major GC),GC做什么(新生代采用复制算法,老年代采用标记-清除或标记-整理算法),感觉回答这些就差不多了,也可以补充一下可以调优的参数(-XX:newRatio,-...
2017-05-05 09:33:05
184
原创 MySQL调优
为什么要进行优化?避免由数据库链接timeout产生页面5xx的错误避免由于慢查询造成页面无法加载避免由于阻塞造成数据无法提交优化用户体验可以从哪几个方面进行数据库优化?image从图中可以看出,SQL及索引的优化是最重要的,成本最低效果最好。下面分别来看看如何优化SQL和索引。SQL优化慢查询日志配置可以使用慢查询日志对有效率问题的SQL进行监控。下面...
2017-05-05 09:31:41
196
原创 关于Java面试,你应该准备这些知识-续
原文出处: 占小狼从《关于Java面试,你应该准备这些知识点》 一文的阅读量和点赞程度可以发现,貌似大家更喜欢这类文章,也许是技术型的文章看着比较的枯燥,这些只是我近段时间求职面试时所遇到的一些问题,整理出来希望对有需要的同学提供帮助,可以更系统的去学习各个知识点。虚拟机JVM相关这块内容并非每个面试官都会问,但是如果是应聘高级职位的话,这一环节是不可缺少的,面试的难易程度也不一样,...
2017-05-04 17:12:56
190
原创 关于Java面试,你应该准备这些知识点
原文出处: 占小狼马老师说过,员工的离职原因很多,只有两点最真实:钱,没给到位心,受委屈了当然,我是想换个平台,换个方向,想清楚为什么要跳槽,如果真的要跳槽,想要拿到一个理想的offer,除了运气,基本功也要足够的扎实,希望下面的面试经验能给你们能够提供一些帮助。项目经验面试官在一开始会让你进行自我介绍,主要是想让你介绍一下自己做过的一些项目,看看你对这些项目的了解程...
2017-05-04 17:05:56
147
原创 筛选简历注意项
1、技术一般2、外包3、要求薪资过高4、年纪过大5、简历存在纯粹复制技术性描述内容嫌疑(注:虽然有点招黑的感觉,但这几点很容易让我pass掉简历) ...
2017-05-04 14:07:45
272
原创 20170504面试总结
(声明:我不是一个很好的技术面试官,我也只会问简单的问题。)今天面试第一个java开发(3年工作经验),职位要求稍高,pass理由:1、主动学习能力极差(重点) a、对之前做了两年多的公司项目,整体技术了解不够。项目中除了自己做的基础功能,其他的都不清楚。 b、对新的技术学习,了解甚少,几乎为零。2、掌握的技术基础停留在刚毕业或毕业一年水平 ...
2017-05-04 11:40:56
117
原创 基于Mybatis的应用:数据库表增加一个字段,还要改哪些地方
今天处理一个生产环境报NullPointerException的问题,根据查询的对象,获得对象中的一个字段,结果为空。 报错位置:int partnerCode = servicefeeRecord.getPartnerCode().intValue();(注:本身这直接取字段不判断是否为空,就获得它的int值。写法本身就有点问题,虽然业务上这个字段一定存在。) 定位问题步...
2017-05-04 11:16:05
6363
3
原创 Spring支持的事务管理类型有哪些?
编程式事务管理,在代码中显式调用开启事务、提交事务、回滚事务的相关方法声明式事务管理,底层是建立在 AOP 的基础之上。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。实际应用基于 <tx> 和 <aop> 命名空间的声明式事务管理是目前推荐的方式,其最大特点是与 Spring A...
2017-04-28 02:20:17
1425
原创 Spring怎样开启注解装配?
注解装配在默认情况下是不开启的。为了使用注解装配,我们必须在Spring配置文件中配置 <context:annotation-config/>元素。
2017-04-28 01:42:29
2218
原创 Spring框架中的单例bean是线程安全的吗?
不,Spring框架中的单例bean不是线程安全的。 拓展:Spring作用域(scope)的配置区别:非线程安全:Singleton(默认): Spring容器只存在一个共享的bean实例。线程安全: Prototype: 每次对bean的请求都会创建一个新的bean实例。使用实例:DAO层的实现类推荐设置scope="singleton",这些类没有状...
2017-04-28 01:38:02
5703
原创 使用Spring框架的好处是什么?
轻量:Spring 是轻量的,基本的版本大约2MB。控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。容器:Spring 包含并管理应用中对象的生命周期和配置。MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个...
2017-04-28 01:06:39
273
计算机类电子书收藏汇总(完整版)
java基础系列:JDK7Java学习笔记.pdfJava程序性能优化——让你的Java程序更快、更稳定.pdf代码整洁之道.pdfJava Rules中文版.pdfJava必须知道的300个问题.pdfJava虚拟机并发编程.pdf新手学Java7编程(第五版).pdfEffective Java中文版.pdfeffectiveJava effective...
2016-12-20 00:23:39
1237
原创 JVM-1、内存结构
类加载器:加载类文件到内存。JVM内存分配: 1、方法区:存放类信息。 2、堆:存放对象实例。 回收器主要管理的对象。 3、Java栈:存储局部变量表、操作栈、动态链接、方法出口。 4、本地方法栈:与Java类似。 区别: ...
2016-10-30 23:40:15
112
原创 案例3:网购秒杀系统架构设计案例
秒杀系统应对策略: 1、秒杀系统独立部署 2、秒杀商品页面静态化 3、租借秒杀活动网络带宽 4、动态生成随机下单页面URL秒杀系统架构设计 1、秒杀系统页面设计尽可能简单 2、购买按钮只有活动开始时可点击 3、下单尽可能简单 ...
2016-10-29 01:01:58
189
原创 案例2:维基百科高性能架构演化设计
www.wikipedia.org 相比同流量级别有百度、谷歌,背后市值数百亿美金、员工上万、服务器无数,服务器数百台,维护人员十余名。 网站建立在LAMP上。 架构组成部分: GeoDNS:可将域名解析到离用户最近的服务器 LVS: 基于Linux的开源负载均衡服务器 ...
2016-10-29 00:22:24
255
原创 案例1:淘宝网架构演化
业务驱动技术2003 C2C交易软件 淘宝网原型 PHP 汉化 数据库读写分离 Linux+Apache+MySQL+PHP(LAMP)架构2004 业务由拍卖转一口价交易 重构 PHP换Java MySQL换Oracle(贵) MVC...
2016-10-28 23:32:37
145
原创 大型网站架构概述
大型网站系统特点: 高并发 大流量 高可用 海量数据 用户分布广泛,网络情况复杂 安全环境恶劣 需求快速变更,发布频繁 渐进式发展大型网站演化最后版: CDN服务器集群 反向代理服务器集群 负载均衡调度服务器集群...
2016-10-28 00:08:31
108
原创 网站应用攻击与防御
XSS攻击 跨站点脚本攻击,指黑客通过修改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作。 攻击类型 1、反射型,攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击目的。 2、持久型,攻击者提交含有恶意脚本的请求,保存Web站点的数据库,用户浏览网页,恶意脚本被包含在正常页面中,达到攻击目的。 ...
2016-10-27 20:19:50
226
原创 信息加密技术及密钥安全管理
信息加密技术:1、单向散列加密 通过对不同输入长度的信息进行散列计算,得到固定长度的输出信息。 单向,即不能对输出信息继续计算而获得输入信息。 特点:输入的任何微小变化都会导致输出完全不同。 算法:MD5、SHA 使用场景: 用户密码加密,salt+MD5。 生成信...
2016-10-27 18:16:16
363
原创 设计模式
1、单例模式确保某一个类只有一个实例,并提供一个全局访问点。优点: 减少内存开支,减少性能开销、避免资源多重占用,共享资源访问缺点: 不易拓展,不利于测试,与单一职责原则冲突(根据环境考虑是否单例)。使用场景: 创建一个对象需要消耗过多的资源,如访问数据库 要求生成唯一序列号的环境 需要一个共享访问...
2016-10-25 19:46:24
95
网站监控:听云Server Window Tomcat下的安装
在看《海量运维、运营规划之道》的网站速度主动监测一节中,提到中国Alex排名前50家互联网企业,有41家使用了基调网络服务,作者也在百度、腾讯曾使用基调的数据来辅助优化。让我不禁百度了一下“基调网络”,百度到网站,网站介绍易车网、京东、当当、新浪均有使用,经不住注册了个账号试试。 基于在宿舍使用笔记本尝试,使用的window系统,外加绿色版的tomcat。登录该网站,...
2015-07-23 00:02:13
332
原创 分布式与集群的区别
预设: 任务1:步骤a、步骤b、步骤c 任务2:步骤a、步骤b、步骤c 任务3:步骤a、步骤b、步骤c 完成任务的人员:人员a、人员b、人员c分布式: 人员a:完成任务1、2、3的步骤a 人员b:完成任务1、2、3的步骤b 人员c:完成任务1、2、3的步骤c集群...
2015-07-21 23:17:15
94
原创 java分布式并发重复问题解决方案
一、锁表, 效率不高,还可能出现死锁。二、分布式缓存memcache采用自带的原子递增方式(gets和cas命令),能很好解决这个问题。
2015-05-04 23:35:05
435
原创 2014年10月14日
继续昨天纠结的接口对接的代码实现,改变策略,一步一步来,从简单的方法调用,到传简单类型参数,到传文本参数,一步步,编写,baidu,测试...文本参数,需要配置对象转换器,有string、json、xml三种转换器,对每一个进行一一调试。特别是模拟客户端调用,在xml、json调用上出现比较多的问题,其他调用基本可以通过工具进行测试。...
2014-10-15 00:35:03
119
原创 2014年10月13日
今天上午,下载了一个小伙子写的工程,maven+springmvc+mybatis,看了半个上午。然后收到一个任务,弄“移动MM”接口,下载了接口文档、实现代码。到下午才明白,http+post,使用类似httpclient调用springmvc发布的方法路径。下午,使用maven建立一个maven web项目。测试web项目能运行起来,访问到基本的页面。开始配置pox,导入spr...
2014-10-15 00:31:01
113
原创 2014年10月12日
早上八点从学院站,转两趟公交,20多个公交站,十点到黄边公交站。在朋友家,喝茶聊天,中午他们家请吃饭。下午两点到晚上七点,去北京路,逛街,看电影。晚上七点后,去广州南站,坐高铁回深圳北站,差不多十一点多到宿舍...哎,第二天就又要上班了......
2014-10-15 00:05:02
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人