自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 java性能调优

全面的性能调优编写更好的算法编写更少的代码过早优化 过早考虑优化是所有噩梦的根源。应该编写清晰、直接、易读和易理解的代码。数据库可能是瓶颈常见的优化 积少成多地改进性能 原则: 1. 借助性能分析来优化代码,注重性能分析中最耗时的操作 2. 新代码比机器配置更可能引入性能问题,机器配置比JVM或操作系统更容易引入性能问题。 3. 为应用中最常用的...

2018-04-12 22:02:12 278

原创 JAVA性能权威指南2-垃圾收集

JVM的四种垃圾收集器: Serial收集器(常用于单CPU环境)  -XX:+UseSerialGC Throughput(Parallel)收集器 server级虚拟机,-XX:+UseParallel[Old]GC Concurrent收集器 CMS:收集新生代 -XX:+UseParNewGC、-XX:+UseConcMarkSweepGC G1收集器

2018-04-12 20:21:29 273

转载 工具使用

http_load检查性能: https://blog.csdn.net/jiafu1115/article/details/40339501

2018-04-11 20:37:00 144

原创 RabbitMQ-模式、集群、故障恢复

mq模式 集群 故障恢复

2018-04-09 19:18:24 2760

转载 IDE如何调试jar文件和tomcat程序

Intellij Idea调试jar程序1. 启动jar文件时采用如下命名    java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 [jar文件]2. 在Intellij中创建Remote。    Run -> Edit Configurations -> + -> Re...

2018-04-04 17:57:37 482

原创 JNI调用

使用JNI的原因,java项目中有时会调用本地方法,如c/c++的方法,采用JNI可以实现,相关实现方式还有JNA,JNative。 JNI的使用方式在java中声明native方法package com.test.nativeDemo;public class NativeTest { public static native int add(int a, int b);}生成.h

2017-12-15 20:14:57 237

原创 代码总结_味道与启发

1. 注释不恰当的信息 注释只应该描述有关代码和设计的技术性信息。 废弃的注释 过时、无关、不正确的注释 冗余注释 注释描述的是某种充分自我表述了得东西。 糟糕的注释 值得编写的注释,也值得好好写 注释掉的代码 没人知道他存在的意义。忽视掉的代码就删掉。 版本控制器会记住他的。2. 环境需要多步才能实现的构建

2017-09-07 19:41:34 245

原创 代码整洁_并发编程

对象是过程的抽象,线程是调度的抽象。 编写整洁的并发程序很难1. 为什么要并发并发是一种解耦策略。帮助我们把做什么(目的)和何时(时机)做分 解开。 解耦目的与时机能明显地改善应用程序的吞吐量和结构。 并发: 并发会在性能和编写额外代码上添加一些开销 正确的并发是复杂的,即便对于简单的问题也是如此。 并发缺陷并非总能重现 并发常常需要对设计策略的根本性修

2017-09-07 15:58:24 179

原创 代码整洁_迭进

1. 通过迭进设计达到整洁目的简单设计原则::运行所有测试 全面测试并持续通过多有测试的系统 测试消除了对清理代码就会破坏代码的恐惧不可重复 重复代表着额外的工作、额外的风险和额外的且不可避免的复杂度。 表达了程序员的意图 软件项目的主要成本在于长期维护。如果代码清晰地表达其作者的意图,其他人花在理解代码上的时间就会减少,从而减少缺陷,所见维护成本尽可能减少类和方法的数量 保持函数

2017-09-06 19:55:19 265

原创 代码整洁_系统

复杂要人命,它消磨开发者的生命,让产品难以规划、构建、测试。一个城市能运转,因为它演化出恰当的抽象等级和模块,好让个人和他们所管理的组建,在不了解全局时也能有效运转。 软件开发中,整洁的代码帮助我们在较底层的抽象。层级上达成这一目标。。本章讨论如何在较高抽象层级—系统层级 上保持整洁。1. 将系统的构造与使用分开构造与使用是非常不一样的过程。 软件系统应将起始过程和起始过程之后的运行时逻辑分离开

2017-09-06 19:48:51 422

原创 代码整洁_类

1. 类的组织:遵循标准Java约定: 封装 变量列表:公共静态常量、私有静态变量、私有实体变量、公共变量 公共函数在变量列表之后。 公共函数调用的私有函数再其后面2. 类应该短小类的名称应当描述其职责 单一权责原则: 系统应该由许多短小的类而不是少量巨大的类组成, 每个小类封装一个权责,只有一个修改的原因,并与少数其他类一起协同达成期望的系统行为。 内聚: 类中的方法和变量相互依赖

2017-09-06 19:37:46 210

原创 代码整洁_单元测试

1. TDD三定律a) 在编写不能通过的单元测试前,不可编写生产代码 b) 只可编写刚好无法通过的单元测试,不能编译也算不通过 c) 只可编写刚好足以通过当前失败测试的生产代码2. 保持测试整洁测试代码和生产代码一样重要。3. 整洁的测试可读性、可读性、可读性:明确、简洁、足够表达力1> 面向特定领域的测试语言 2> 双重标准5. 每个测试一个断言每个测试一个概念6. 测试遵循快速,独立

2017-09-06 19:27:47 241

原创 代码整洁_边界

将外来代码干净利落地整合进自己的代码中。保持软件边界整洁的实践手段和技巧:使用第三方代码 例如声明Map时,指定Map存放的类型学习性测试的好处不只是免费使用尚不存在的代码 将已知与未知分隔开的边界整洁的边界 应避免我们的代码更多地了解第三方代码中的特定信息。

2017-09-06 19:20:04 318

原创 代码整洁_错误处理

错误处理不应使代码逻辑发生混乱。处理错误的技巧:使用异常而非返回码先写Try-Catch-Finally语句使用不可控异常 可控异常的代价违反开放/闭合原则给出异常发生的环境说明 抛出的每个异常,都应当提供足够的环境说明。以便判断错误的来源和处所。 堆栈踪迹并不能告诉你失败操作的初衷。 应创建信息充分的错误消息,并和异常一起传递出去。消息应包括失败的操作和失败类型依调用者需要定义异常

2017-09-06 19:11:05 217

原创 代码整洁_对象和数据结构

1. 数据抽象我们不愿暴露数据细节,更愿意以抽象形态表达数据。要以更好的方式呈现某个对象的包含的数据。2. 数据、对象的反对称性对象把数据隐藏于抽象之后,暴露操作数据的函数。数据结构暴露其数据,没有提供有意义的函数。 复杂系统中,添加新数据类型而不是新函数时,对象和面向对象就比较适合 添加函数而不是数据类型的时候,过程式代码和数据结构更适合。3. 得墨忒耳律模块不应了解它所操作对象的内部情形。

2017-09-06 19:06:43 195

原创 代码整洁_格式

好的格式让人感到代码的整洁,一致及所感知到的对细节的关注而震惊。保持良好的代码格式,选用一套管理代码格式的简单规则,然后贯彻这些规则。格式的目的: 代码格式关乎沟通,增加代码的可读性垂直格式 关系密切的概念应相互靠近。 变量声明   变量声明应尽可能靠近其使用位置 实体变量   应该在类的顶部声明 相关函数   某个函数调用了另一个函数,将他们放一起,调用者应尽可能在被调者的上方向报纸

2017-09-06 18:23:44 175

原创 代码整洁_注释

别给糟糕的代码加注释, ---重新写如果编程语言足够有表达力,或我们长于用这些语言来表达意图,就不那么需要注释。注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败。编写优美的代码,尽量减少注释量注释不能美化糟糕的代码 编写带有少量(或没有)注释的整洁而有表达力的代码用代码来阐述 不要用注释来理解代码,让代码更具表达力好注释 有些注释是必须的,也是有利的。 3.1 法律信息 3

2017-08-18 17:44:32 454

原创 代码整洁之道——函数

规则短小,更短小。 要让每一个函数遵循单一职责原则代码块和缩进 对于if,else,while等语句,如果其中的代码块逻辑复杂,应提取方法。 函数的缩进层级不该多余一层或两层,易于阅读和理解只做一件事 函数应该做一件事,做好一件事,只做一件事。 判断函数是否只做了一件事,看能否再拆分出一个函数每一个函数一个抽象层级 要确保函数只做一件事,函数中的语句都要在同一抽象层级上

2017-08-18 17:19:32 353

原创 DOM4J---XML处理

DOM概念文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOMW3C DOM 标准被分为 3 个不同的部分:核心 DOM - 针对任何结构化文档的标准模型 XML DOM - 针对 XML 文档的标准模型 HTML DOM

2017-08-15 23:05:02 238

原创 多线程 队列 线程阻塞

多线程 队列 线程阻塞采用Java.util.concurrent包下的类一些概念:阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回 采用LockSupport.park() 阻塞住线程, 采用LockSupport.unpark(Thread) 释放进程。队列:生产者消费者模式首选数据模式为队列。Java提供的线程安全的队列可分为阻塞队列(Blocking

2017-08-11 19:11:20 540

原创 HttpClient ---------- 服务器请求外部service

HttpClient是Apache Jakarta Common下的子项目,可以用来提供高校的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并支持HTTP协议最新的版本和建议。 基于httpClient4.5总结,不同版本有一些变化功能实现了所有HTTP的方法(GET, POST, PUT, HEAD等)支持自动转向支持HTTPS协议支持代理服务器等实现步骤创建Http

2017-07-24 12:31:28 364

原创 代码整洁之道_命名

代码整洁之道代码整洁之道这段时间看了一下代码整洁之道这本书。总结了一下前面几章较为基础的内容。有意义的命名我们经常写的变量、函数、参数、类、包,都需要起一个名。好的名称有助于我们理解代码,增加代码的优美性。 重命名快捷键: Alt+Shift+R命名规则:名称应该能表达它所代表的意义, 不用在通过注释来解释避免误导名称不要误导代码本意。如,accountList来指一组账号,但如果类型不为L

2017-07-24 12:28:44 260

原创 XWPF POI word文档操作

XWPFWord文档基础知识的简介word文档包括 页眉、页脚、脚注、批注、链接、正文部分,在XWPF中都有与之对应的类: .docx文件的文档的根 XWPFDocument 页眉 XWPFHeader 页脚 XWPFFooter 脚注 XWPFFootnote 批注 XWPFComment 链接

2017-07-24 12:26:04 18687

原创 javascript(一) 引用类型

javascript(一) 引用类型以前进行java Web开发经常是在项目中遇到的javascript语法,然后自己上网找资料,发现很不成体系。于是就开始自己按照自己的学习进行总结。帮助自己系统的学习javascript,也和大家一起分享学习javascript的路线及知识。本章内容来源于 Javascript高级程序设计(第三版),大家有时间可以自己找一下,自己学习。

2017-05-05 00:55:15 161

Node入门级学习

2016-09-12

空空如也

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

TA关注的人

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