小鱼--

小鱼--

修炼

Recent Posts

Unable to load authentication plugin ‘caching_sha2_password’.

Unable to create initial connections of pool. java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password’. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868) (更多…)

JVM性能监控

1.定义

监控通常是一种在生产、质量评估或者开发环境中实施的带有预防或主动性的活动。

2.垃圾收集

重要的垃圾收集数据包括:

  • 当前使用的垃圾收集器
  • Java堆的大小
  • 新生代和老年代的大小
  • Minor GC的持续时间
  • Minor GC的频率
  • Minor GC
  • Minor GC的空间回收量
  • Full GC的持续时间
  • Full GC的频率
  • 每个并发垃圾收集周期内的空间回收量
  • 垃圾收集前后Java堆的占用量
  • 垃圾收集前后新生代和老年代的占用量
  • 垃圾收集前后永久代的占用量
  • 是否老年代或永久代的占用触发了Full GC
  • 应用是否显式调用了System.gc()

 

 

·

编程珠玑:第一章 开篇

1.如果不缺内存,如何使用一个具有库的语言来实现一种排序算法以表示和排序集合?

使用库函数sort,或使用TreeSet

2.如何使用位逻辑运算(如与、或、移位)来实现位向量?

位向量:亦作位图,区别于数学概念中的位图,因此叫作位向量。
数据结构:一个n位的二进制数据,数据i如果出现在该二进制的第i位,则该位置为1,否则为0。

3.运行时效率是设计目标的一个重要组成部分,所得到的程序需要足够高效。在你自己的系统上实现位图排序并度量其运行时间。该时间与系统排序的运行时间以及习题1中排序的运行时间相比如何?假设n为10 000 000,且输入文件包含1 000 000个整数。

 

4.如果认真考虑了习题3,你将会面对生成小于n且没有重复的k个整数的问题。最简单的方法就是使用前k个正整数。这个极端的数据集合将不会明显地改变位图方法的运行时间,但是可能会歪曲系统排序的运行时间。如何生成位于0至n-1之间的k个不同的随机顺序的随机整数?尽量使你的程序简短且高效。

5.那个程序员说他有1MB的可用存储空间,但是我们概要描述的代码需要1.25MB的空间。他可以不费力气地索取到额外的空间。如果1MB空间是严格的边界,你会推荐如何处理呢?你的算法的运行时间又是多少?

6.如果那个程序员说的不是每个整数最多出现一次,而是每个整数最多出现10次,你又如何建议他呢?你的解决方案如何随着可用存储空间总量的变化而变化?

7.本书1.4节中描述的程序存在一些缺陷。首先是假定在输入中没有出现两次的整数。如果某个数出现超过一次的话,会发生什么?在这种情况下,如何修改程序来调用错误处理函数?当输入整数小于零或大于等于n时,又会发生什么?如果某个输入不是数值又如何?在这些情况下,程序该如何处理?程序还应该包含哪些明智的检查?描述一些用以测试程序的小型数据集合,并说明如何正确处理上述以及其他的不良情况。

8.当那个程序员解决该问题的时候,美国所有免费电话的区号都是800。现在免费电话的区号包括800、877、888,而且还在增多。如何在1MB空间内完成对所有这些免费电话号码的排序?如何将免费电话号码存储在一个集合中,要求可以实现非常快速的查找以判定一个给定的免费电话号码是否可用或者已经存在?

9.使用更多的空间来换取更少的运行时间存在一个问题:初始化空间本身需要消耗大量的时间。说明如何设计一种技术,在第一次访问向量的项时将其初始化为0。你的方案应该使用常量时间进行初始化和向量访问,使用的额外空间应正比于向量的大小。因为该方法通过进一步增加空间来减少初始化的时间,所以仅在空间很廉价、时间很宝贵且向量很稀疏的情况下才考虑使用。

10.在成本低廉的隔日送达时代之前,商店允许顾客通过电话订购商品,并在几天后上门自取。商户的数据库使用客户的电话号码作为其检索的主关键字(客户知道他们自己的电话号码,而且这些关键字几乎都是唯一的)。你如何组织商店的数据库,以允许高效的插入和检索操作?

11.在20世纪80年代早期,洛克德公司加利福尼亚州桑尼维尔工厂的工程师们每天都要将许多由计算机辅助设计(CAD)系统生成的图纸从工厂送到位于圣克鲁斯市的测试站。虽然仅有40公里远,但使用汽车快递服务每天都需要一个多小时的时间(由于交通阻塞和山路崎岖),花费100美元。请给出新的数据传输方案并估计每一种方案的费用。

12.载人航天的先驱们很快就意识到需要在外太空的极端环境下实现顺序书写。民间盛传美国国家宇航局(NASA)花费100万美元研发出了一种特殊的钢笔来解决这个问题。那么,前苏联又会如何解决相同的问题呢?

 

java基本类型在java虚拟机中的实现

  • 1.boolean类型
  • 2.基本类型

(更多…)

mac上使用hg命令

mac上安装命令:

# Mac OS (homebrew)
$ brew install mercurial

(更多…)

1.大话Spring

  1. spring概述
  2. 依赖注入
  3. 切面
  4. bean
  5. spring模块

(更多…)

专栏导读

本专栏主要是阅读spirng实战(第4版)所做的笔记,以及思考和整理。分享出来,供大家阅读和交流。

其中TODO部分会持续更新。

String、StringBuilder、StringBuffer

1.不可变字符串

String:java.lang.String

String对象在创建后是不可变的,在字符串缓存区共享。Java语言提供对字符串串联符号(+)以及将其它对象转换为字符串的特殊支持。 (更多…)

Cpmparable与Comparator

  1. Comparable
  2. Comparator

两者都用于实现集合中元素的比较、排序,Comparable是对象本身支持自比较时需要实现的接口,Comparator用于定义一个比较器,当对象不支持自比较或者不能满足你的要求时,可以自定义一个对象比较器。 (更多…)

java中的锁Lock

 

锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 (更多…)


My Diary

Post ID:

 

锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 (更多…)