自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux top——COMMAND-LINE Options

COMMAND-LINE OptionsThe command-line syntax for top consists of: -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols] The typically mandatory switch ('-') and even whitespace are completely optional.

2022-06-25 14:43:43 559 1

原创 top(linux)——FIELDS/Columns含义

linux top 命令FIELDS / Columns

2022-06-25 14:33:48 757

原创 tomcat access log

tomcat access log 的配置格式描述如下Abstract implementation of theValveinterface that generates a web server access log with the detailed line contents matching a configurable pattern. The syntax of the available patterns is similar to that supported by theAp...

2022-05-19 12:05:49 1818

原创 linux命令ps

[hello@world ~]$ ps -error: garbage optionUsage:ps [options]Try 'ps --help <simple|list|output|threads|misc|all>' or 'ps --help <s|l|o|t|m|a>'for additional help text.For more details see ps(1).[hello@world ~]$ ps --helpUsage:...

2021-11-22 09:09:52 627

原创 TOMCAT/JSP/Servlet/Specifications规范

Specifications - Apache Tomcat - Apache Software Foundationhttps://cwiki.apache.org/confluence/display/TOMCAT/Specifications

2021-10-08 11:29:13 100

原创 MongoDB的稀疏索引和部分索引的注意问题

MongoDB的稀疏索引和部分索引的注意问题一、总结1、如果字段b为部分记录有值,则为null的字段(或无此字段)的记录将不会记录到索引,此时根据b:null查询,会是全表查询,虽然建了b字段的稀疏索引(sparse:true),而如果建立的不是稀疏索引,则为null的字段(或无此字段)的记录将会记录到索引,根据b:null查询,可以使用上该字段索引进行查询。官网中文翻译稀疏索引仅包含具有索引字段的文档的条目,即使索引字段包含空值。索引跳过任何缺少索引字段的文档。索引是“稀疏的”,因为它

2021-07-10 23:55:42 483

翻译 Tomcat Startup Sequence(Tomcat启动顺序)

参考引用:http://tomcat.apache.org/tomcat-8.5-doc/architecture/startup.htmldescription,A text description of the startup procedurehttp://tomcat.apache.org/tomcat-8.5-doc/architecture/startup/serverStartup.txtdiagram,A UML sequence diagram of the startup

2021-04-25 12:11:14 422

原创 awk(linux)

参考:10个超级棒的Awk命令[user01@server01 ~]$ cat linuxmi.com.txt1 张三 历史 81 B 0.3672 李四 物理 72 C 0.5883 李华 物理 87 B+ 0.6774 方咪 历史 91 A 0.8765 陈明 语文 81 B 0.8126 鱼鱼 英语 81 B 0.571[user01@server01 ~]$[user01@server01 ~]$ awk '{print $2}' linuxmi.com.txt张三李四.

2021-04-15 15:55:55 134

原创 怎么设置虚拟机中centOS7系统与宿主机的网络连接

怎么设置虚拟机中centOS7系统与宿主机的网络连接这里只是使用了最简单的VMware Workstation 12 Player,可能和完成版虚拟机的设置不太一样(从网络上找的资料也看到了有不一样的版本)一、VMware Workstation 12 Player能可视化配置的比较少大体情况二、先确认网络配置信息Ifconfig 确认网络配置,未分配IP地址ping 命令网络连接,不通三、配置1、进入VMware中的CentOS7虚拟机,进入目录命令..

2021-04-10 14:26:13 715

原创 Java线程dump分析及工具

Java线程dump分析,可适用IBM的工具:IBM Thread and Monitor Dump Analyzer for Java使用方法:java -jar jca*.jar。可加必要的VM参数,如: -Xms128m -Xmx128mhttps://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda...

2021-03-22 11:04:34 563

原创 垃圾收集器参数测试(JVM)

java -versionjava version "1.8.0_162"Java(TM) SE Runtime Environment (build 1.8.0_162-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)测试程序import java.lang.management.CompilationMXBean;import java.lang.management.GarbageColle

2021-03-19 19:19:46 573

原创 生产者消费者问题

/** * 生产者消费者问题 * @author Administrator * */public class ProductorAndConsumerTest { /** * 市场 * @author Administrator */ class Market { private int product; private static final int MAX_PRODUCT = 10; private static final int MIN_PRODUC.

2021-03-09 19:23:31 66

转载 MongoDB 如何使用内存

为了便于找到信息,有时打开官网太久,还要捞信息,就把MongoDB官网的文档拿过来了。https://docs.mongodb.com/manual/faq/storage/index.html,即以下内容。MongoDB 如何使用内存?为什么内存满了?Storage> FAQ: MongoDB StorageFAQ: MongoDB StorageOn this pageStorage Engine Fundamentals Can you mix storage en..

2021-01-22 19:01:02 218

翻译 VMSTAT

----只是为了方便参考----File: *manpages*, Node: vmstat, Up: (dir)VMSTAT(8) System Administration VMSTAT(8)NAME vmstat - Report virtual memory statisticsSYNOPSIS vmstat [options] [delay [count]]DESCRIPT...

2021-01-19 18:55:42 251

翻译 IOSTAT

File: *manpages*, Node: iostat, Up: (dir)IOSTAT(1) Linux User's Manual IOSTAT(1)NAME iostat - Report Central Processing Unit (CPU) statistics and input/out‐ put statistics for devices and partition...

2021-01-19 17:58:50 167

原创 Javascript检索多层级对象是否包含有某字符串的key

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author"...

2020-11-05 12:07:11 678 1

原创 Java Regex Pattern Matcher

Java的正则表达式使用,说明在代码中,参照了网络上的一些资料,在此记录下,方便自己如果可能也方便下别人。import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Regex Pattern Matcher * @author 我是谁 * */public class RegexPatternMatcherTest { public static void main(String[] args) {

2020-07-30 19:02:20 246

原创 Ngnix使用

仅作为记录以备忘(nginx/1.12.1)。ngnix.conf配置样例(有点乱,注释掉的部分主要是用于参考,有的是产品本身的备注,有的是之前使用过的样例)#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log lo...

2020-02-20 18:29:41 361

原创 jmap堆转储dump文件和对象查询语言OQL

概述OQL有利于查询统计对象数据以分析堆栈溢出问题。OQL的使用帮助内容产生自jdk工具jhat 分析dump文件后的OQL语言使用帮助,这里仅作引用记录以备忘和提供以后学习参考。产生dump文件及分析dump文件使用jdk工具jmap可对Java进程强制产生堆转储dump文件。jdk工具jhat可对堆转储文件进行分析,追溯问题根源。C:\Program Files\Java\j...

2020-01-14 16:08:37 536

原创 jdk自带工具javap反编译class文件

概述jdk提供了反编译工具javap。使用反编译工具,可将字节码文件反编译为源码、有字节码命令的文件等。对于有class文件查看源码,分析Java程序性能提供了基础支持。以下粗略演示下工具使用,大致说下相关内容,更详细更具体的只是请找相关知识书籍、资料学习。准备工作及步骤第一步,安装了jdk,且配置好了环境变量。第二步,准备一个简单的Java文件并编译好。第三步,使用javap...

2020-01-13 17:39:58 4340 1

原创 使用jdk工具jstack检测线程死锁

stack.exe检查死锁,jdk本身提供了很多工具用于调试、调优、监控Java应用。这里演示jstack检测死锁的过程。大体思路要演示jstack检测死锁,需要先了解jstack的使用方法,然后设计一个会产生死锁的程序,再运行程序进入死锁后使用jstack进行检测,最后解读检测结果发现死锁。jstack的使用方法Windows系统中,jdk工具在目录jdk\bin下,众多公众中包...

2020-01-07 17:30:34 543

转载 jdk工具

以下内容来自Oracle官网文档说明,仅为方便参考拷贝到此博客。JDK Tools and UtilitiesGeneralGeneral Information(file structure, classpath, how classes are found, changes) EnhancementsStandard JDK Tools and U...

2020-01-07 14:31:28 154

原创 Java堆转储文件的生成及工具分析

因Java堆是Java对象在内存中使用的主要内存空间,当发生内存溢出或泄漏时,保存堆信息是问题产生原因的重要原料及问题分析的基础,而后才能分析追根溯源。这里记录演示产生内存溢出生成堆转储文件,使用工具打开该文件进行初步分析的过程,作为备忘。生成hprof文件假设有以下程序public class OOMHeapTest { /**-XX:+HeapDumpOnOutOfMemo...

2019-12-31 15:32:59 1506 1

转载 深入理解 Java G1 垃圾收集器GC调优[转]

本文首先简单介绍了垃圾收集的常见方式,然后再分析了G1收集器的收集原理,相比其他垃圾收集器的优势,最后给出了一些调优实践。一,什么是垃圾回收首先,在了解G1之前,我们需要清楚的知道,垃圾回收是什么?简单的说垃圾回收就是回收内存中不再使用的对象。垃圾回收的基本步骤回收的步骤有2步:查找内存中不再使用的对象 释放这些对象占用的内存1,查找内存中不再使用的对象那么问题来了,如...

2019-12-27 18:46:31 216

原创 MongoDB日常使用记录

1、聚合函数的查询计划db.runCommand({explain:{ aggregate: "ysqSxslSxfp", pipeline: [{ $match: { yxbz: "Y", isAssigner: { $ne: "Y" }, lrrq: { $lt: new Date(1570838400000) }, nsrmc: /^.*蓝坤.*$/i, dslswjgDm: "13...

2019-10-12 12:15:38 316

原创 redis日常使用

1、Redis查看连接数量Linuxxshell连接linux系统1)连接:Redis-cli -h ip -p port2)授权:auth 密码3)查看连接信息命令:client list样例[hw@helloworld ~]$ redis-cli -h 10.10.0.102 -p 638010.10.0.102:6380> auth hw@redis...

2019-10-09 11:28:21 254

原创 MongoDB 内存排序在索引创建前后的效果样例

假设一个collection tygzJyrzVO,有7512条数据数据长这样子的试图排序后拿前10条数据报排序超过了最大内存限制异常。报错的完整信息如下Error: error: { "operationTime" : Timestamp(1569469310, 2), "ok" : 0, "errmsg" : "Executor error during...

2019-09-26 14:26:15 907

转载 windows下用nginx配置https服务器

转自:https://www.cnblogs.com/luxiaoyao/p/10034009.html1.安装nginx先到nginx官网下在nginxhttp://nginx.org/en/download.html将下载好的文件解压出来修改文件名为 nginx ,然后拷贝到C盘下,目录如下:运行 nginxstart nginx验证在浏览器中输入 local...

2019-07-26 20:26:50 414 1

原创 MongoDB服务器安装及配置日志及日志使用

操作一个数据库,日志非常重要,定位问题几乎时时刻刻用到。所以如何配置,如何获取日志应该成为必备技能。以下搜集了一些参考资料,可以通过以下资料明白自己搭建MongoDB服务器如何配置日志及级别等,利于学习及备份。举例一个稍微奇葩的应用场景,有一天某表数据莫名被删了,恢复后又莫名被删了,如果没人出来回应,有涉及到多个产品线,上百号人,那通过日志即使没人承认,也是非常快地可以知道是谁干的,是人干的还...

2019-07-10 18:55:42 5177

原创 MongoDB执行计划字段含义

MongoDB执行计划字段含义{ "queryPlanner" : { "plannerVersion" : 1, "namespace" : "sxblvpn.ysqxxVO",//命名空间,可理解为database.collection "indexFilterSet" : false,//一个布尔值,指定MongoDB是否为...

2019-06-27 19:19:55 1481

原创 linux常用命令

1、查看文件中含有特定字符的前后n行:cat /home/taxcp/apache-tomcat-sbsx/logs/catalina.out | grep -50 '系统服务内部异常!close(错误码b81d6974c11b4290bf8dfae5cf4c556a)'或者grep -C 100 '系统服务内部异常!close(错误码b81d6974c11b4290bf8dfae5c...

2019-05-28 11:19:55 87

转载 设计模式

教程目录:1.软件设计模式概述2.GoF 的 23 种设计模式的分类和功能3.UML中的类图及类图之间的关系4.开闭原则——面向对象设计原则5.里氏替换原则——面向对象设计原则6.依赖倒置原则——面向对象设计原则7.单一职责原则——面向对象设计原则8.接口隔离原则——面向对象设计原则9.迪米特法则——面向对象设计原则10.合成复用原则——...

2019-05-13 09:56:07 90

原创 深度克隆测试代码

深度克隆测试代码:package com.dyh.clonetest;import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSONObject;import lombok.Data;@Dataclass Hobby implements Cloneable{ /...

2019-05-05 17:02:22 132

原创 synchronized和volatile的区别

synchronized和volatile的区别

2019-04-26 16:38:21 394

原创 Java基本类型和对象类型的访问形式

Java基本类型和对象类型的访问形式

2019-04-25 17:50:49 709

原创 dubbo官网

dubbo官网http://dubbo.apache.org/zh-cn/

2019-04-24 12:08:16 652

转载 java中表示二进制、八进制、十进制、十六进制

转自:https://www.cnblogs.com/wkcn/p/7803147.html1.进制  进制是一种记数方式 ,可以用有限的数字符号代表所有的数值。由特定的数值组成。2.进制的表现形式    二进制: 由0和1两个数字组成。  八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。  十进制: 都是以0-9这九个数字组成,不能以0开头。 ...

2019-04-20 10:59:48 1690

原创 情绪沟通学习与感受

情绪沟通学习与感受一、1、没有人喜欢被改变 2、没有人喜欢不知情 3、所有人都希望有退路 人很多时候都希望受到尊重,希望别人能顾及自己感受,希望具有知情权,希望有选择权。将心比心,易地而处,比较容易感受彼此的需求,互相尊重,如果具有这些特性和品格,对于生活、工作上的人与人之间 的相处会顺利很多。老板和雇员、上级和下级、同事之间,亲人之间、同学之间也可以更容易了解对方需...

2019-03-27 18:41:31 1563

转载 native2ascii - Native-to-ASCII Converter

native2ascii - Native-to-ASCII ConverterConverts a file with native-encoded characters (characters which are non-Latin 1 and non-Unicode) to one with Unicode-encoded characters.SYNOPSISnative2...

2019-03-21 16:24:02 230

原创 自动装箱的问题

public static void main(String[] args) { Integer a = 1; Integer b = 2; Integer c = 3; Integer d = 3; Integer e = 321; Integer f = 321; Long g = 3L; System.out.println(c == d); Syst...

2019-03-19 18:17:37 119

svn-book.pdf(1.7版本,英文文字版,全目录)

Table of Contents What Is Subversion? Is Subversion the Right Tool? Subversion's History Subversion's Architecture Subversion's Components What's New in Subversion Audience How to Read This Book Organization of This Book This Book Is Free Acknowledgments 1. Fundamental Concepts 2. Basic Usage 3. Advanced Topics 4. Branching and Merging 5. Repository Administration 6. Server Configuration 7. Customizing Your Subversion Experience 8. Embedding Subversion 9. Subversion Complete Reference

2022-07-01

版本管理系统客户端TortoiseSVN-1.14.3-en.pdf(针对windows平台)

Preface 1. What is TortoiseSVN? ... 6. ... 1. Getting Started 1.1. Installing TortoiseSVN 1.1.1. System requirements 1.1.2. Installation 1.2. Basic Concepts 1.3. Go for a Test Drive 1.3.1. Creating a Repository 1.3.2. Importing a Project ... 1.3.7. ... 1.4. Moving On 2. Basic Version-Control Concepts 3. The Repository 4. Daily Use Guide 5. Project Monitor 6. The SubWCRev Program 7. IBugtraqProvider interface A. Frequently Asked Questions (FAQ) ... G. ... Glossary Index

2022-06-25

TortoiseSVN-1.14.3中文版(TortoiseSVN-1.14.3-zh_CN.pdf,针对Windows 平台)

目录 前言 1. 什么是 TortoiseSVN? 2. TortoiseSVN 的特性 3. 许可协议 4. 开发 5. 阅读指南 6. 本文使用的术语 1. 开始 1.1. 安装 TortoiseSVN 1.1.1. 系统要求 1.1.2. 安装 1.2. 基本概念 1.3. 开始试用 1.3.1. 创建版本库 1.3.2. 导入项目 1.3.3. 检出工作副本 1.3.4. 进行修改 1.3.5. 添加更多的文件 1.3.6. 查看项目历史 1.3.7. 撤消更改 1.4. 继续前进 2. 基本版本控制概念 ... 3. 版本库 ... 4. 日常使用指南 ... 5. 项目监视器 ... 6. SubWCRev 程序 ... 7. IBugtraqProvider 接口 ... A. 常见问题(FAQ) ... B. 如何实现 … ... C. 对管理员有用的建议。 ... D. TortoiseSVN 操作 ... E. 命令行交叉索引 ... F. 实现细节 ... G. 语言包和拼写检查器 ... 术语表 ... 索引 ...

2022-06-25

tomcat 8.5 启动过程文字描述+时序图

tomcat 8.5 的启动过程文字描述和启动过程的时序图描述 1)A text description of the startup procedure 2)A UML sequence diagram of the startup procedure

2022-05-16

spring-boot-reference.pdf

1. Legal 2. Getting Help 3. Documentation Overview 4. Getting Started 5. Upgrading Spring Boot 6. Developing with Spring Boot 7. Core Features 8. Web 9. Data 10. Messaging 11. IO 12. Container Images 13. Production-ready Features 14. Deploying Spring Boot Applications 15. Spring Boot CLI 16. Build Tool Plugins 17. “How-to” Guides

2022-05-15

linux bash shell中文手册

1.概述 (SYNOPSIS) 2.版权所有 (COPYRIGHT) 3.描述 (DESCRIPTION) 4.选项 (OPTIONS) 5.参数 (ARGUMENTS) 6.启动 (INVOCATION) 7.定义 (DEFINITIONS) 8.保留字 ("RESERVED WORDS") 9.注释 (COMMENTS) 10.引用 (QOUTING) 11.参数 (PARAMETERS) 12.扩展 ( EXPANSION) 12.7 Word Splitting 13.重定向 (REDIRECTION) 14. 别名(ALIASES) 15. 函数)(FUNCTIONS) 16. 算术求值("ARITHMETIC EVALUATION") 17. 条件表达式("CONDITIONAL EXPRESSIONS") 18. 简单命令扩展("SIMPLE COMMAND EXPANSION") 19. 命令执行(COMMAND EXECUTION) 20. 命令执行环境(COMMAND EXECUTION ENVIRONMENT) 21. 环境(ENVIRONMENT) 22. 退出

2022-05-03

linux bash手册(英文,version 4.2)

linux平台的bash shell开发帮助文档(手册),英文版,版本4.2。日常开发shell翻阅, 章节如下: Definitions:: Some definitions used i n the rest of this manual. Basic Shell Features:: The shell "building blocks". Shell Builtin Commands:: Commands that are a part of the shell. Shell Variables:: Variables used or set by Bash. Bash Features:: Features found only in Bash. Job Control:: What job control is and how Bash allows you to use it. Command Line Editing:: Chapter describing the command line editing features. Using History Intera

2022-05-03

oracle数据库开发者指引(database-development-guide.pdf)

oracle数据库开发者指引(database-development-guide.pdf)

2021-11-17

redis获取命令字典的方法及全部的group命令.txt

本地安装redis,通过安装目录下的redis客户端程序可以连接任意Redis服务(只要服务端是启动着的),命令 redis-cli -h ip -p port。如果服务端要求认证资格,可能还要输入用户名密码等参数。 Redis命令十分丰富,包括的命令组有Cluster、Connection、Geo、Hashes、HyperLogLog、Keys、Lists、Pub/Sub、Scripting、Server、Sets、Sorted Sets、Strings、Transactions一共14个redis命令组两百多个redis命令。这么多命令十分难记。或者我们需要连接服务器之后,在客户端可以通过比较灵活的一套逻辑快速找到想要的命令和命令使用说明。

2021-03-23

GnuWin32(Grep for Windows).rar

linux下的grep工具非常强大,拿它来搜索各类文本中所包含的关键词内容,简便,但是由于windows下没有grep工具,所以,需要在Windows平台装个grep工具! 解压版和安装版都有,有工具使用文档,内有安装使用说明。 命令格式:grep options pattern input_file_names

2021-03-20

UML 2.0 Infrastructure-10-11-16.pdf

OMG Unified Modeling LanguageTM (OMG UML), Infrastructure Version 2.4 Version 2.4 is a minor revision to the UML 2.3 specification. It supersedes formal/2010-05-04.

2020-09-19

jexcelapi_2_6_12.zip

Java Excel API—用于读取、写入和修改Excel电子表格的Java API JExcelApi Java Excel API是一个成熟的开放源码Java API,允许开发人员动态地读取、编写和修改Excel电子表格。现在java开发人员可以读取Excel电子表格,使用方便而简单的API修改它们,并将更改写入任何输出流(例如磁盘、HTTP、数据库或任何套接字)。 任何可以运行Java虚拟机的操作系统(即(不只是Windows)可以处理和交付Excel电子表格。因为它是Java,所以可以在servlet中调用API,从而通过internet和intranet web应用程序访问Excel电子表格。 一些功能 读取Excel 95、97、2000、XP和2003工作簿中的数据 读写公式(Excel 97及以上版本) 生成Excel 2000格式的电子表格 支持字体,数字和日期格式 支持细胞的着色、边框和着色 修改现有的工作表 是国际化的,几乎可以在任何地区、国家、语言或字符编码中进行处理(目前只支持英语、法语、西班牙语和德语,但如果翻译成其他语言,还可以添加更多) 支持复制图表 支持插入和复制图像到电子表格 支持使用Jakarta Commons logging、log4j、JDK 1.4 Logger等进行日志记录 更多...

2019-09-15

opencv-3.4.7-vc14_vc15.exe

opencv3.4.7 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。 OpenCV 使用 C/C++ 开发,同时也提供了 Python、Java、MATLAB 等其他语言的接口。如果你不了解 C/C++,请阅读《C语言教程》和《C++教程》。 OpenCV 是跨平台的,可以在 Windows、Linux、Mac OS、Android、iOS 等操作系统上运行。

2019-08-12

opencv-4.1.1-vc14_vc15.rar

此为windows平台的OpenCV – 4.1.1版本解压包,有Java的API。里面为exe文件,点击安装时选择解压的目录即可。至于如何使用,搜索下opencv即可。 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。 OpenCV 使用 C/C++ 开发,同时也提供了 Python、Java、MATLAB 等其他语言的接口。 OpenCV 是跨平台的,可以在 Windows、Linux、Mac OS、Android、iOS 等操作系统上运行。

2019-08-12

Practical Java(中文版(繁体+简体))

1 ㆒般技術(General Techniques) 1 實踐1:引數以by value方式而非by reference方式傳遞1 實踐2:對不變的data和object reference 使用final 3 實踐3:缺省情況㆘所有non-static函數都可被覆寫6 實踐4:在arrays 和Vectors 之間慎重選擇7 實踐5:多態(polymorphism)優於instanceof 11 實踐6:必要時才使用instanceof 15 實踐7:㆒旦不再需要object references,就將它設為null 18 目錄 Practical Java viii 2 對象與相等性(Objects and Equality) 25 實踐8:區分reference type 和primitive type 25 實踐9:區分== 和 equals() 29 實踐10:不要倚賴equals()的缺省實現33 實踐11:實現equals()時必須深思熟慮 43 實踐12:實現equals()時優先考慮使用getClass() 44 實踐13:調用super.equals()以喚起base class 的相關行為47 實踐14:在equals()函數㆗謹慎使用instanceof 51 實踐15:實現equals()時需遵循某些規則 60 3 異常處理(Exception Handling) 61 實踐16:認識「異常控制流」(exception control flow)機制 62 實踐17:絕對不可輕忽異常(Never ignore an Exceptions) 65 實踐18:千萬不要遮掩異常(Never hide an Exceptions) 68 實踐19:明察throws子句的缺點 73 實踐20:細緻而全面㆞理解throws子句 74 實踐21:使用finally避免資源洩漏(resource leaks) 77 實踐22:不要從try block㆗返回 79 實踐23:將try/catch block置於循環(loop)之外 81 實踐24:不要將異常(exceptions)用於流程控制84 實踐25:不要每逢出錯就使用異常(exceptions) 85 實踐26:在構造函數(constructors)㆗拋出異常86 實踐27:拋出異常之前先將對象恢復為有效狀態(valid state) 88 目錄 Practical Java ix 4 性能(Performance) 97 實踐28:先把焦點放在設計、數據結構和算法身㆖99 實踐29:不要倚賴編譯期(compile-time)優化技術 101 實踐30:理解運行期(runtime)代碼優化技術105 實踐31:如欲進行字符串接合,StringBuffer優於String 107 實踐32:將對象的創建成本(creation cost)降至最小 109 實踐33:慎防未用㆖的對象(unused objects) 114 實踐34:將同步(synchronization)減至最低 116 實踐35:儘可能使用stack變量 122 實踐36:使用static、final和private函數以促成inlining 126 實踐37:instance變量的初始化㆒次就好 127 實踐38:使用基本型別(primitive types)使代碼更快更小 130 實踐39:不要使用Enumeration或Iterator來遍歷Vector 135 實踐40:使用System.arraycopy()來複製arrays 136 實踐41:優先使用array,然後才考慮Vector和ArrayList 138 實踐42:儘可能復用(reuse)對象 141 實踐43:使用緩式評估(延遲求值,lazy evaluation) 144 實踐44:以手工方式將代碼優化151 實踐45:編譯為本機代碼(Compile to native code) 159 5 多線程(Multithreading) 161 實踐46:面對instance函數,synchronized鎖定的是 對象(object)而非函數(method)或代碼(code) 162 目錄 Practical Java x 實踐47:弄清楚synchronized statics函數與synchronized instance函數 之間的差異 166 實踐48:以「private數據 + 相應訪問函數(accessor)」替換 「public/protected數據」 170 實踐49:避免無謂的同步控制173 實踐50:訪問共享變量時請使用synchronized或volatile 176 實踐51:在單㆒操作(single operation)㆗鎖定所有用到的對象180 實踐52:以固定而全局性的順序取得多個locks(機鎖) 以避免死鎖(deadlock) 181 實踐53:優先使用notifyAll()而非notify() 185 實踐54:針對wait()和notifyAll()使用旋鎖(spin locks) 187 實踐55:使用wait()和notifyAll()替換輪詢循環(polling loops) 191 實踐56:不要對locked object(㆖鎖對象)之object reference 重新賦值 194 實踐57:不要調用stop()或suspend() 197 實踐58:通過線程(threads)之間的協作來㆗止線程198 6 類與接口(Classes and Interfaces) 201 實踐59:運用interfaces支持多重繼承(multiple inheritance) 201 實踐60:避免interfaces㆗的函數發生衝突 206 實踐61:如需提供部分實現(partial implementation), 請使用abstract classes(抽象類) 209 實踐62:區分interface、abstract class 和concrete class 212 實踐63:審慎㆞定義和實現immutable classes(不可變類) 213 實踐64:欲傳遞或接收mutable objects(可變對象)之object references 時,請實施clone() 215 實踐65:使用繼承(inheritance)或委託(delegation)來定義 immutable classes(不可變類) 226 目錄 Practical Java xi 實踐66:實現clone()時記得調用super.clone() 233 實踐67:別只倚賴finalize()清理non-memory(內存以外)的資源 235 實踐68:在構造函數內調用non-final函數時要當心 238

2019-03-13

JDK1.8所有vmXX选项及值(java)

JDK1.8.0_112所有vm选项,用于记录便于翻查使用。 基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值。 -XX:+PrintFlagsFinal and -XX:+PrintFlagsInitial

2019-02-23

《阿里技术参考图册》(研发篇)__《阿里技术参考图册》(算法篇)

导读:如果你不甘心一直在写增删改查,希望看到更广的技术世界,阿里技术团队重磅发布的《阿里技术参考图册》,总计600余页,现已开放下载,将为你呈现阿里技术全景,走进各个技术领域的世界。 1. 研发篇部分精彩内容 网络研发事业部:构建世界一流的互联网基础设施(研究员-张铭) 计算平台事业部:大数据计算平台的创新与实践(资深技术专家-布民) 阿里巴巴中间件的前世今生(高级技术专家-冯嘉) 新零售下的前端技术发展&突破(高级前端专家-铁军) 菜鸟网络技术驱动智慧物流(资深技术专家-唐韧) 2. 算法篇部分精彩内容 走进人工智能实验室(研究员-永川) 从人工智能到机器智能 (资深算法专家-智捷) 天猫技术:电商“最强大脑”(资深算法专家-志昭) 阿里云:为了无法计算的价值(资深专家-蔡华) 菜鸟网络智慧物流:算法应用的新蓝海(资深算法专家-元享)

2019-02-22

利用git从github上拉取项目

利用git从github上拉取项目 1、git安装获取 2、git bash使用 3、配置用户名、密码,生成密钥文件 4、clone git资源 5、pull git资源 6、详细样例

2018-06-09

MySQL内核:InnoDB存储引擎 卷1 高清扫描版

MySQL内核InnoDB存储引擎(卷1) 目录 1 概览 2 基本数据结构和算法 3 同步机制 4 重做日志 5 mini-transaction(mtr) 6 存储管理 7 记录 8 索引页 9 锁 10 B+树索引 11 Insert Buffer 12 缓冲池 13 事务处理 14 数据字典 15 服务管理 概览 基本数据结构和算法 同步机制 rw-lock/latch s-/x-:x-可递归,s-不可?;以spin获得,一段时间后进入wait array(信号量?) p38 若sync_primary_wait_array中1000个cell都已分配,则ut_error触发crash 当持有latch的线程释放latch后,调用sync_array_signal_object唤醒等待线程 重做日志 p42 redo log原来保证事务的持久性(D),undo log用于回滚和MVCCinnodb_flush_log_at_trx_commit=0/1/2redo log VS. bin log 前者记录的是页的物理逻辑操作日志设计思想:物理日志记录页内的修改(old-new value),逻辑日志记录对表的操作(insert/delete) LSN(表示事务写入redo log的字节量?) 对‘检查点’,表示刷新到磁盘的位置?——不管怎么说,LSN有一种‘随时间单调变化’的性质 检查点:将缓冲池中的页刷新到磁盘 sharpfuzzy* redo日志的大小是固定的(3GB)->归档日志ib_logfile<N>redo日志块(512B-12-8) 和磁盘扇区大小一样,保证原子性,不需要double write? 重做日志组*组提交:fsync -> log_flush_up_to 会对最后一个日志块进行复制恢复:recovery_from_checkpoint_start 表空间第一个页头部的FIL_PAGE_FILE_FLUSH_LSN记录了数据库关闭时最后刷新页的LSNrecv_parse_or_apply_log_rec_bodyrecv_add_to_hash_tablerecv_recover_pagerecv_read_in_area 判断页所在相邻的32个页? mini-transaction(mtr) FIX rules:修改页之前需要持有该页的latchWAL 每个页需要有一个LSN?LSN溢出怎么办? Force-Log-at-Commitmtr_t mtr; mtr_start(&mtr;); ... mtr_commit(&mtr;); 提交时若mtr->modified==TRUE,先修改缓冲池中的页*1,然后释放log_sys->mutex(这是一个热点) *1 log_reserve_and_write_fast/log_write_slow 快速/慢速2个路径 更新多行记录时,MLOG_MULTI_REC_END 存储管理 页:(space_id, offset) 16KB1 extent = 64 连续的page space header 段(segment) 每张用户表至少2个段:聚集索引(B+树)的叶子节点和非叶子节点段一个段最多可以管理32个独立的页,和若干区 表空间数据结构:fil_system/space/node_struct4个异步I/O线程:异步读、异步写、插入缓存、重做日志 记录 物理记录 p102 用户记录的heap no总是从2开始 伪记录:Infimum/Supremum(感觉将像是双链表的first/last) p103 VARCHAR类型的NULL不占用磁盘空间,而CHAR NULL用0x00填充大记录:BLOB/TEXT(溢出页,extern属性) 逻辑记录 dtuple_struct,对大记录是big_rec_structB+树索引只定位页,页内记录需要二分扫描 mtype/prtype 行记录版本(MVCC只是列?):通过隐藏的事务ID列 read_view_struct: low/up_limit_idtrx_ids, n_trx_idscreator p114 函数read_view_sees_trx_id用来判断当前事务是否可以读记录的当前版本,不是,则row_sel_build_prev_vers_for_mysql 索引页 Page Header 页内记录根据主键是逻辑顺序,不是物理顺序 Page Directory(定位记录在页内的位置) slot?offset的主键逆序记录 Page Cursor* 锁 p136 理论上,隔离级别越低,事务请求的锁越少或保持锁的时间越短幻读:谓词锁 --&gt; key-range locking --&gt; next/previous-key lockingp138 意向锁:意味着事务希望在更细粒度上加锁 InnoDB是行级锁,不会阻止全表扫描以外的请求 lock_rec_struct = { space, page_no, n_bits } 所有锁对象通过kernel_mutex进行保护(又一个热点!) 优化:细粒度拆分? p144 LOCK_GAP(代表范围锁不包含端点)显式锁和隐式锁**(略)行锁的维护*(重点,略) 插入更新PURGE一致性的锁定读页的分裂页的合并 自增锁(atomic?)死锁* B+树索引 聚集 / 辅助分裂操作:btr_page_split_and_insert合并:btr_compress查找:btr_cur_search_to_nth_level p203 对唯一约束的键值,需要使用模式PAGE_CUR_GE,而不是LElatch_modecursor DML操作 乐观插入:btr_cur_optimistic_insert非主键更新(主要是列的大小会不会发生变化) btr_cur_optimistic_update --&gt; btr_cur_pessimistic_update(例略) 主键更新 删除 持久游标 btr_pcur_struct自适应哈希索引* Insert Buffer 将多次插入合并为一次操作(提高了非唯一约束辅助索引的插入性能)p237 实现最为困难的在于对死锁的处理 页逻辑层次划分:非IB页、IB非bitmap页、bitmap页p241 异步I/O线程可能引起死锁问题 --&gt; rw_lock_x_lock_move_ownership 缓冲池 LRU、Free和Flush链表预读 p258 随机预读 要满足32个页中9个已经访问过且都是活跃的才可能触发 线性预读*逻辑预读 页的刷新 部分写问题(?) --&gt; double write(存在于内存的表空间,大小为2MB,这意味着最多128页/次刷新) 事务处理 分类:扁平、带保存点的扁平、链、嵌套、分布式事务系统段*doublewrite段*undo日志存储 一致性的非锁定读 p282 读取快照不需要加锁 undo日志实现:回滚段 + undo段 trx_undo_struct undo记录purge*rollback 7B roll_ptr隐藏列 {rseg_id(1), page_no(4), offset(2)}3个回滚类型:TRX_SIG_{TOTAL_ROLLBACK, ROLLBACK_TO_SAVEPT, ERROR_OCCURRED} commit 数据字典 服务管理

2018-03-03

javax.mail-1.6

Java 官方提供的对电子邮件协议封装的 Java 类库,就是JavaMail,但并没有包含到标准的 JDK 中,需到官方下载,这是目前最新版本。

2018-01-23

[Java.Message.Service(2nd,2009.5)].Mark.Richards.文字版.pdf

[Java.Message.Service(2nd,2009.5)].Mark.Richards.文字版.pdf

2017-09-30

Gson, XML结合Ajax(结合servlet技术)

简单易懂的例子,分别讲解gson与ajax,xml与ajax的结合; 原测试环境myeclipse(jdk1.6&tomcat6;.0)

2011-12-28

二叉树的建立及相关操作

1、建立二叉树; 2、实现二叉树的先序遍历、中序遍历和后序遍历递归算法,输出各遍历序列; 3、统计出二叉树中叶子结点个数; 4、实现二叉树的中序遍历非递归算法; 5、实现交换二叉树所有结点左右子女的操作。

2010-05-29

(C语言) 图的存储结构及应用

图的存储结构及应用 1、实现图的邻接矩阵和邻接表存储结构; 2、完成基于邻接矩阵或邻接表的深度优先搜索遍历及广度优先搜索遍历; 3、实现从键盘输入任意一对顶点,求出顶点间的最短路径。

2010-05-29

空空如也

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

TA关注的人

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