自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

绣花针

心有猛虎,细嗅蔷薇

  • 博客(40)
  • 资源 (19)
  • 收藏
  • 关注

原创 JVM之垃圾回收

目录一、引言二、垃圾回收对象标准三、垃圾回收算法1.标记-清除算法(Mark-Sweep)2.标记-整理算法(Mark-Compact)3.标记-拷贝算法(Mark-Copy)四、垃圾回收器1.Serial回收器2.CMS回收器3.G1回收器一、引言Java 会对内存进行自动分配与回收管理,使上层业务更加安全,方便地使用内存实现程序逻辑。在不同的 J...

2019-03-30 16:33:07 260

原创 JVM之对象实例化

目录一、引言二、从字节码角度分析1.NEW2.DUP3.INVOKESPECIAL三、从执行步骤角度分析1.确认类元信息是否存在2.分配对象内存3.设定默认值4.设置对象头5.执行 init 方法一、引言Java 是面向对象的静态强类型语言,声明并创建对象的代码很常见,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象。在实...

2019-03-30 14:47:11 224

原创 JVM之内存布局

目录一、引言二、经典JVM内存布局1.Heap(堆区)2.Metaspace(元空间)3.JVM Stack(虚拟机栈)4.Native Method Stacks(本地方法栈)5.Program Counter Register(程序计数寄存器)三、线程共享角度的内存结构一、引言内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和...

2019-03-29 09:17:40 356 1

原创 JVM之类加载过程

目录一、引言二、类加载过程1.Load2.Link3.Init三、案例1.第1处说明(new关键字与newInstance()方法区别)2.第 2 处说明(使用类似的方式可获取其他声明如注解、方法等)3.第 3 处说明(private 成员在类外依然可以修改)四、类加载器结构1.最高层Bootstrap2.第二层Platform ClassLoad...

2019-03-28 08:33:41 718

原创 JVM之字节码

目录一、引言二、二进制字节码与操作码助记符三、字节码主要指令1.加载或存储指令2.运算指令3.类型转换指令4.对象创建和访问指令5.操作栈管理指令6.方法调用与返回指令7.同步指令四、源码转字节码过程1.词法解析2.语法解析3.语义分析五、字节码执行过程一、引言0 与 1 是计算机仅能识别的信号 , 经过 0 与 1 的不同组合产...

2019-03-25 21:41:14 1770 1

原创 编码规约之应用分层

目录一、推荐1.分层规约二、参考1.分层异常处理规约2.分层领域模型规约一、推荐1.分层规约下图中默认上层依赖于下层,箭头关系表示可直接依赖。如:开放接口层可以依赖于 Web 层,也可以直接依赖于 Service 层,依此类推:开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行网关安全控制、流量控制...

2019-03-25 14:15:34 289

原创 编码规约之ORM映射

目录一、强制1.在表查询中一律不要使用 * 作为查询的字段列表2.POJO 类的布尔属性不能加 is而数据库字段必须加 is_3.不要用 resultClass 当返回参数4.sql.xml 配置参数使用#{}或#param#5.iBATIS自带的queryForList不要使用6.不允许直接拿 HashMap 与 Hashtable 作为查询结果集的输出7.更新数...

2019-03-25 14:07:18 715

原创 编码规约之SQL语句

目录一、强制1.count(*)作为标准统计行数的语法2.count(distinct col) 计算该列除 NULL 之外的不重复行数3.当某一列的值全是 NULL 时count(col)的返回结果为 04.使用 ISNULL()来判断是否为 NULL 值5.在代码中写分页查询逻辑时若 count 为 0 应直接返回6.不得使用外键与级联7.禁止使用存储过程...

2019-03-25 13:50:43 996

原创 编码规约之索引规约

目录一、强制1.业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引2.超过三个表禁止 join3.在 varchar 字段上建立索引时注意项4.页面搜索严禁左模糊或者全模糊二、推荐1.如果有 order by 的场景注意索引的有序性2.利用覆盖索引来进行查询操作,避免回表3.利用延迟关联或者子查询优化超多分页场景4.SQL 性能优化的目标...

2019-03-25 13:35:52 474

原创 编码规约之建表规约

目录一、强制1.表达是与否概念的字段必须使用 is_xxx 的方式命名2.表名、字段名必须使用小写字母或数字3.表名不使用复数名词4.禁用保留字5.索引命名6.小数类型为 decimal,禁止使用 float 和 double7.如果存储的字符串长度几乎相等,使用 char 定长字符串类型8.varchar使用9.表必备三字段:id, gmt_create...

2019-03-25 13:04:46 962

原创 编码规约之安全规约

目录一、强制1.隶属于用户个人的页面或者功能必须进行权限控制校验2.用户敏感数据禁止直接展示3.用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定4.用户请求传入的任何参数必须做有效性验证5.禁止向 HTML 页面输出未经安全过滤或未正确转义的用户数据6.表单、AJAX 提交必须执行 CSRF 安全验证7.在使用平台资源,譬如短信、邮件、电话...

2019-03-25 12:03:06 1132

原创 编码规约之日志处理

目录一、强制1.应用中不可直接使用日志系统(Log4j、Logback)中的 API2.日志文件至少保存15 天3.应用中的扩展日志(如打点、临时监控、访问日志等)命名方式4.对 trace/debug/info 级别的日志输出注意项5.避免重复打印日志,浪费磁盘空间,务必在 log4j.xml 中设置 additivity=false6.异常信息应该包括两类信息:案发...

2019-03-25 09:09:24 547

原创 编码规约之异常处理

目录一、强制1.通过预检查方式规避的 RuntimeException 异常不应该通过 catch 的方式来处理2.异常不要用来做流程控制或条件控制3.catch 时请分清稳定代码和非稳定代码4.捕获异常处理问题5.try块存在事务代码注意回滚问题6.finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch7.不要在 finally 块中...

2019-03-23 21:30:19 1056

原创 编码规约之其他

目录一、强制1.使用正则表达式时注意问题2.velocity调用 POJO 类的属性注意问题3.velocity后台输送给页面的变量必须加$!{var}---中间的感叹号4.Math.random()注意点5.获取当前毫秒数二、推荐1.不要在视图模板中加入任何复杂的逻辑2.任何数据结构的构造或初始化,都应指定大小3.及时清理不再使用的代码段或配置信息一、...

2019-03-23 16:17:34 662

原创 编码规约之代码格式

目录一、强制1.大括号的使用约定2.左小括号和字符之间不出现空格(右小括号同)3.if/for/while/switch/do 等保留字与括号之间都必须加空格4.任何二目、三目运算符的左右两边都需要加一个空格5.采用 4 个空格缩进,禁止使用 tab 字符6.注释的双斜线与注释内容之间有且仅有一个空格7.单行字符数限制不超过 120 个超出需要换行8.方法参...

2019-03-23 15:29:30 1226

原创 编码规约之注释规约

目录一、强制1.类、类属性、类方法的注释必须使用 Javadoc 规范2.所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释3.所有的类都必须添加创建者和创建日期4.方法内部单行注释使用//注释5.所有的枚举类型字段必须要有注释二、推荐1.注释中英文问题2.代码修改的同时要修改相应注释三、参考1.谨慎注释掉代码2.对于注释的要求3....

2019-03-23 14:43:31 430

原创 编码规约之控制语句

目录一、强制1.switch语句规约2.if/else/for/while/do语句中必须使用大括号3.在高并发场景中避免使用”等于”判断作为中断或退出的条件二、推荐1.表达异常的分支时少用 if-else 方式(非得使用请勿超过 3 层)2.除常用方法(如 getXxx/isXxx)等外不要在条件判断中执行其它复杂的语句3.循环体中的语句要考量性能以下操作尽量...

2019-03-23 14:07:42 1469

原创 编码规约之并发处理

目录一、强制1.获取单例对象与其方法需要保证线程安全2.创建线程或线程池时请指定有意义的线程名称3.线程资源必须通过线程池提供4.线程池通过 ThreadPoolExecutor 的方式创建5.SimpleDateFormat线程不安全使用规约6.高并发时同步调用应该去考量锁的性能损耗7.加锁顺序问题8.并发修改同一记录时需要加锁9.多线程并行处理定时任务T...

2019-03-23 11:26:30 340

原创 编码规约之集合处理

目录一、强制1.hashCode 和 equals 的处理2.ArrayList的subList结果不可强转成ArrayList3.subList 场景中,高度注意对原集合元素的增加或删除4.集合转数组的方法,必须使用集合的 toArray(T[] array)5.工具类 Arrays.asList()把数组转换成集合注意点6.泛型通配符来接收返回的数据7.不要在...

2019-03-23 10:51:04 553 1

原创 编码规约之OOP规约

目录一、强制1.避免通过类对象访问静态方法或变量2.所有的覆写方法必须加@Override 注解3.相同参数类型与相同业务含义才可以使用 Java 的可变参数4.正在调用或者依赖的接口不允许修改方法签名5.不能使用过时的类或方法6.使用常量或确定有值的对象来调用 equals7.所有的相同类型的包装类对象之间值比较使用equals8.基本数据类型与包装数据类型...

2019-03-21 22:17:07 1011

原创 IDEA之便捷开发总结

目录一、完全热部署JRebel插件二、Inject language(快速编写SQL/JSON/JS等格式代码)三、快捷键移动分割线(先选中当前文件后Ctrl+Shift+左右箭头)四、自动收尾(Ctrl+Shift+Enter)五、try/catch,if/else等快速生成(Ctrl+Alt+T)六、当前页面搜索与替换(Ctrl+F/R)七、文件/类变量方法等快速...

2019-03-21 14:40:31 392

原创 IDEA之类模板与方法模板添加

目录一、类模板二、方法模板一、类模板1.按照顺序打开File–>settings–>Editor–>File and Code Templates–>Files,选择Class文件2.将下面这段格式直接粘贴到编辑框中,Apply即可#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")pac...

2019-03-21 13:33:29 872

原创 编码规约之常量定义

目录一、强制1.不允许使用魔法值直接出现在代码中2.Long或long赋值时使用大写L二、推荐1.不要使用一个常量类维护所有常量2.分层次放置变量3.变量值仅在一个固定范围内变化用 enum 类型来定义一、强制1.不允许使用魔法值直接出现在代码中不允许任何魔法值(即未经预先定义的常量)直接出现在代码中,详解请见另一篇文章编码规约之使用Enum枚举类替代魔...

2019-03-20 19:07:26 677

原创 Java之枚举类

目录一、为何引入枚举类型(为了替代魔法值)1.静态常量类型不安全2.没有命名空间二、枚举类型初识1.enum和class、interface的地位一样2.比较同一枚举类中不同值直接= =3.默认继承了java.lang.Enum4.所有实例都必须放在第一行展示5.不可以被继承6.构造器只能是私有的三、枚举类添加属性和构造器四、枚举类实现接口五...

2019-03-20 15:29:20 507

原创 编码规约之使用Enum枚举类替代魔法值

目录一、魔法值概念1.警示案例12.警示案例2二、重构方案1.静态常量(不要使用)2.枚举类三、总结一、魔法值概念常量在代码中具有穿透性,使用甚广。如果没有一个恰当的命名,就会给代码阅读带来沉重的负担,甚至影响对主干逻辑的理解。首当其冲的问题就是到处使用魔法值。魔法值即"共识层面"上的常量,直接以具体的数值或者字符出现在代码中。这些不知所云的魔法值极大地影响...

2019-03-20 15:28:34 3700 1

原创 编码规约之命名风格(阿里规约整理,后续不再赘述)

目录一、强制1.不能以下划线或美元符号开始或结束2.严禁使用拼音与英文混合与中文3.类名使用UpperCamelCase驼峰风格4.方法名、参数名、成员变量、局部变量使用 lowerCamelCase 驼峰风格5.常量命名全部大写且单词间用下划线隔开6.抽象类命名、异常类命名和测试类名规则7.数组以类型与中括号紧挨相连8.POJO 类中布尔类型的变量不要加 ...

2019-03-20 10:04:19 5637 2

原创 HTTPS之原理

目录一、简介二、HTTP与HTTPS对比1.HTTP安全隐患2.HTTPS优势三、加密传输过程(存在对称加密和非对称加密)1.对称加密(1)对称加密初解01(理想情况)(2)对称加密初解02(现实情况)2.非对称加密(1)非对称加密特点(2)非对称加密算法进行对称加密算法协商过程(3)SSL证书和CA机构(4)访问HTTPS流程(5)总结...

2019-03-19 19:50:51 210

原创 信息安全之CSRF

目录一、简介二、案例三、防范1.CSRF Token验证2.人机交互一、简介跨站点请求伪造(Cross-Site Request Forgery),CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,如恶意发帖、修改密码、发邮件等,达到攻击目的。CSRF有别于XSS,...

2019-03-19 15:03:16 358

原创 信息安全之XSS攻击

目录一、简介二、案例三、防范一、简介Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。为了和 CSS 区分,这里把攻击的第一个字母改成了 X,于是叫做 XSS。XSS...

2019-03-19 14:42:53 535

原创 信息安全之SQL注入攻击

目录一、简介二、案例1.案例1(SQL恶意填入)2.案例2(危险字符注入)三、预防1.过滤特殊字符2.严格使用参数绑定3.合理使用框架防注入机制一、简介SQL注入是注入式攻击中的常见类型。SQL注入式攻击是未将代码与数据进行严格的隔离,导致在读取数据库数据的时候,错误地把数据作为代码的一部分执行,导致攻击者可以通过sql灵活多变的语法,构造精心巧妙的语句...

2019-03-19 09:30:00 608

原创 信息安全之DDos攻击(目标CIA可用性)

目录一、DDos简介二、攻击方式三、被攻击时特点一、DDos简介分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代...

2019-03-18 22:17:29 1847

原创 信息安全之黑客与安全

目录一、黑客二、安全(CIA原则)1.保密性2.完整性3.可用性一、黑客黑客的音译词,译自Hacker。黑客的攻击手段十分多样,大体可分为非破坏性攻击和破坏性攻击。非破坏性攻击一般是为了扰乱系统的运行,使之暂时失去正常对外提供服务的能力,比如DDos攻击等。破坏性的攻击主要会造成两种后果:系统数据受损或信息被窃取,比如CSRF攻击等。黑客使用的攻击手段有病毒式、洪水式、...

2019-03-18 22:07:54 2519

原创 SQL之查询性能优化思路

引言从经验上来看,在数据库层面的请求应答时间必须在100ms以内,秒级的SQL查询通常存在巨大的性能提升空间。有如下应对方案:1.建立高效且合适的索引索引谁都可以建,但是要想建好难度极大。因为索引既有数据特征,又有业务特征,数据量的变化会影响索引的选择,业务特点不一样,索引的优化思路也不一样。通常某个字段平时不用,到是某种触发场景下命中”索引缺失“的字段会导致查询瞬间变慢。所以,要事先...

2019-03-18 21:29:43 241

原创 WebSocket之基于Spring实现前台消息实时推送

目录一、需求(前台消息实时推送)二、前端代码三、后台代码1.如何获取HttpSession(可略过)2.获取HttpSession3.接收前端请求并发送数据四、Websocket url 404错误一、需求(前台消息实时推送)后台管理员创建公告,前台实时更新二、前端代码$(function () { init(); //启动...

2019-03-18 19:23:50 1632

原创 HTTP之URI、URN与URL关系

目录一、定义二、三者关系三、通俗举例解释1.URI着重指的是一种资源2.URL不仅标识了一种资源,而且对资源进行了定位3.URN着重指的是资源名称,而不定位资源位置4.举个例子一、定义URI :Universal Resource Identifier 统一资源标志符,用来标识抽象或物理资源的一个紧凑字符串URL :Universal Resource Lo...

2019-03-18 16:18:40 515

原创 HTTP之为什么存在post,get,put,delete等多种类型请求(RESTful风格介绍)

目录一、传统常用对数据操作API接口方式1.请求URI路径命名与请求方式type混乱2.混乱的URI命名与Type类型导致资源的来源复杂多样3.状态性(我们一般访问的网页都是有状态)4. 返回结果重定义二、RESTful风格例子1.URI请求命名规则与请求方式2.返回状态码三、RESTful风格系统特点1.CS结构2.无状态3.可缓存4.分层系...

2019-03-18 13:31:46 4424 2

原创 Hadoop之MR简单例子(分组统计手机号通讯总数)

一、测试数据目标:按照归属地分组统计出手机号通讯总数手机号 归属地 打出电话 接收电话15367483854 长沙 38 6515367483855 长沙 87 4715367483855 长沙 158 7515367483852 长沙 2 1515367483854 长沙 2 1515367483850 长沙 48 2215367483851 长沙 10...

2019-03-17 21:35:51 903

原创 HTML之Unicode引用方式添加矢量图标(如阿里巴巴矢量图库)

目录一、阿里巴巴矢量图库下载1.进入官网选择图库2.下载项目中图标至本地二、Unicode引用1.特点 2.引用(此处使用阿里巴巴矢量图库)一、阿里巴巴矢量图库下载1.进入官网选择图库阿里巴巴矢量图标库里有大量图库,简洁优美,挑选你需要的图标(1)新建一个项目(2) 选择需要的图标,加入购物车(3)将购物车图标加入至...

2019-03-10 15:14:30 4899 2

原创 WebSocket之简介

目录一、简介二、握手详解1.标准请求头2.标准响应头三、插曲(推送技术)1.Ajax轮询2.Ajax长轮询(long polling)3.轮询弊端四、WebSocket优点一、简介WebSocket 是 HTML5 开始提供的一种在单个TCP 连接上进行全双工通讯协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向...

2019-03-09 17:15:54 209

原创 Html之WebSocket使用Tomcat7一直连接关闭,访问地址404问题解决

一、问题如果你项目是引用的自己的websocket-api.jar或者加入依赖包javax.websocket-api-1.1.jar,会和tomcat的lib中websocket-api.jar冲突,前台一直是连接关闭(websocket close)二、解决修改tomcat的\conf\context.xml文件在<Context>中添加如下代码<Loa...

2019-03-09 15:44:53 1607

创新型材切割下料优化V19.0版.zip

下载后可以直接使用,对型材钢衬下料进行优化,切割方案

2019-08-28

基于Spring的Quartz动态定时任务增删改查

基于Spring的Quartz动态定时任务增删改查,代码简洁。后端采用SpringMvc+Spring+Mybatis+Quartz,前端采用Bootstrap框架,数据库采用MySQL;完成定时任务动态任务初始化,增删改查

2019-01-31

基于BootStrap简洁美观Cron表达式选择器JS插件

基于BootStrap简洁美观Cron表达式选择器JS插件,只需要在项目中将JS文件导入和基本的BootStrap控件就可以运行,具体可看里面的demo.html

2019-01-31

QTTabBar1039最新版及专业汉化文件

QTTabBar_1039 2018最新更新版+专业汉化文件:QTTabBar version 1039这次更新主要解决了win10中出现的问题

2019-01-31

银行家算法 处理机调度 磁盘寻道

本代码包含银行家算法 处理机调度 磁盘寻道三个实验,解压后将所有文件导入Eclipse运行即可,注意:解压后将所有文件导入。

2016-01-22

安卓 SQLite数据库的创建

SQLite数据库的创建,添加身高,体重,工资进数据库,并能通过id查询,删除,更新数据库。

2016-01-22

安卓 远程服务绑定

安卓 远程服务service绑定,绑定后可以进行简单的计算,解绑后不能进行计算。

2016-01-20

BMI测试 安卓小应用

BMI测试 安卓小应用。输入身高体重,测试BMI的值。

2016-01-20

Android 天气预报Demo

Android 天气预报Demo WeatherDemo

2016-01-14

Android Widget组件开发

ConfigWidget ServiceWidget SimpleWidget

2016-01-14

Android位置服务与地图应用

谷歌地图,定位方面的Demo MapOverlayDemo GoogleMapDemo

2016-01-14

Android数据存储与访问

SharedFerences,SQLite 文件存储 等各类文件存储方式的事例。

2016-01-14

Android 后台服务

service的各类用法,事例。远程调用,绑定服务。

2016-01-14

组件通信与广播消息

BroadcastReceiverDemo IntentDemo IntentResolutionDemo

2016-01-14

Android用户界面

Android用户界面 所有布局 子菜单 标签页等等源码.zip

2016-01-14

Android生命周期

Android生命周期 Activity整个生命周期,logcat 过滤信息查看生命周期状态变化

2016-01-14

第一个Android程序 HelloWord

第一个Android程序 HelloWord.zip

2016-01-14

Android 课后习题答案

3.描述Android平台体系结构的层次划分,并说明各个层次的作用。 答案: Android采用了软件堆层的架构,共分为四层: Linux内核、中间件层、应用程序框架层和应用程序层。

2016-01-14

Oracle 大作业报告

该考试系统总共分为三大模块 1.考生个人信息管理子系统 考生、管理员登录;考生、管理员查看个人信息;考生修改个人基本信息;管理员编辑考生信息(包括添加、修改、删除考生信息);管理员搜索考生信息功能。 2.基于文件读取的考试子系统 学生登录;答题;交卷;可以保存答案;自己交卷;时间到自动交卷。 3.监考子系统 监考老师登录;监控考场状态;发卷功能;开始考试;结束考试;搜索考生在线状态;设置考生状态。

2016-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除