自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解 - 实例分析 原文 http://josh-persistence.iteye.com/blog/2161848 第一部分:工具介绍部分:现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程

2018-01-19 04:00:51 1086

原创 进程和线程有什么联系和区别?

定义:1)   进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。2)   线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;2.进程和线程的关系:(1)一个线程

2017-08-04 21:03:32 790

原创 列举常用字节输入流和输出流并说明其特点

FileInputStream 从文件系统中的某个文件中获得输入字节。ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪 read 方法要提供的下一个字节。FilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。FilterInputStream类本身只是简单地重

2017-08-03 23:20:00 3200

原创 使用HashSet和TreeSet存储多个商品信息,遍历并输出;其中商品属性:编号,名称,单价,出版社;要求向其中添加多个相同的商品,验证集合中元素的唯一性。 提示:向HashSet中添加自定义

package com.sxt.java17d.homeworkextends;/** * @author 刘萌 *包括学号,姓名,年龄信息 */public class Student implements Comparable{private String no; private String name;private int age;public Stud

2017-08-01 21:39:42 5256

原创 String类的几个常用方法

·1.char charAt(int index);返回下标处的字符,index从0开始。2.equals()方法比较两个字符串内容是否相等,equalsIgnorelase()比较两个字符串内容是否相等,不区别大小写。3.int indexOf(String s);查找某字符串或字符在字符串中第一次出现的下标,不存在返回-1。4.int lastIndexOf(String s);返

2017-07-29 11:10:19 598

原创 包装类的几个通用方法

1.基本数据类型转化为包装类,都使用valueOf(参数)方法,其中参数为相应的基本类型的值,返回值为包装类的对象。   基本数据类型转化为字符串,除了可以使用基本数据类型+"",还可以使用valueOf方法,把基本数据类型转化为字符串。   字符串转化为包装类,也可以使用vlueOf方法,参数为字符串,返回值为相应的包装类对象。2.包装类对象转化为基本数据类型:使用intValue(

2017-07-29 09:59:16 825

原创 Java异常处理try-catch-finally的执行过程

try-catch-finally程序块的执行流程以及执行结果比较复杂。基本执行过程如下:程序首先执行可能发生异常的try语句块。如果try语句没有出现异常则执行完后跳至finally语句块执行;如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。catch语句块可以有多个,分别捕获不同类型的异常。catch语句块执行完后程序会继续执行finally语句块

2017-07-27 20:25:06 2194

原创 接口和抽象类的异同

相同点Ø  抽象类和接口均包含抽象方法,类必须实现所有的抽象方法,否则是抽象类Ø  抽象类和接口都不能实例化,他们位于继承树的顶端,用来被其他类继承和实现两者的区别主要体现在两方面:语法方面和设计理念方面语法方面的区别是比较低层次的,非本质的,主要表现在:Ø  接口中只能定义全局静态常量,不能定义变量。抽象类中可以定义常量和变量。Ø  接口中所有的方法都是全局抽象方法。抽象

2017-07-26 22:20:40 386

原创 向上类型转换和向下类型转换

向上转型  Student person= new Student()1)        将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换。2)        此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法3)        此时通过父类引用变量无法调用子类特有的方法向下转型    Student stu =(Student)person

2017-07-25 20:22:26 913

原创 继承条件下构造方法的执行过程

继承条件下构造方法的调用规则如下: 如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下,写不写“super();”语句,效果是一样的。如果子类的构造方法中通过super显式调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法。如果子类的构造方法中通过th

2017-07-24 22:21:45 3396

原创 java中this关键字和static关键字的用法

java中的this关键字代表当前对象,用在以下几个方面:1.当一个方法既定义了局部变量,又调用了成员变量,则在使用成员变量时,需要使用this.成员变量。在有参的构造方法中使用this赋值,其实也是这个道理,参数是局部变量,被赋值的是成员变量。2.当在一个构造方法中调用别的构造方法时,可以使用this(已调用过的参数)来表示已初始化的成员变量。3.this.方法名();在同一个类中,

2017-07-21 20:31:58 399

原创 java 中何时考虑成员变量和局部变量的作用域,何时考虑值传递及引用传递?

当方法没有参数时,变量的变化就思考成员变量和局部变量。定义在类中的变量是成员变量,它的作用域是整个类,定义在方法中的变量是局部变量,它的作用域是整个方法。当方法有参数时,要考虑是值传递还是引用传递的问题。基本数据类型和String是值传递,引用数据类型是引用传递。

2017-07-21 20:27:37 401

原创 冒泡排序

import java.util.Arrays;/** * @author admin *冒泡排序:第一轮让第一个数跟第二个数比较,若第一个数大于第二个数,则第一个数与第二个数换位。 *随后,让第二个数与第三个数比较,以此类推,则,第一轮后,最后一个数必为最大值。 *然后进行第二轮,按照第一轮的方法让第一个数与第二个数比较,直到倒数第三个数与倒数第二个数进行比较。 

2017-07-19 21:25:25 218

原创 编写Java程序,实现接收用户输入的正整数,输出该数的阶乘。要求:限制输入的数据在1-10之间,无效数据进行提示,结束程序。输出结果如:4!=1*2*3*4=24

import java.util.Scanner;/** *  * @author lllm *编写Java程序,实现接收用户输入的正整数,输出该数的阶乘。要求:限制输入的数据在1-10之间, *无效数据进行提示,结束程序。要求使用递归和循环分别实现。输出结果如:4!=1*2*3*4=24 *本次使用循环 */public class PrintJieche

2017-07-18 22:40:37 13010

原创 打印1-1000的素数

算法:大于1的且其只能被其本身及1整除的数为素数。所以,要让这个数去跟所有比它小且大于1的数挨个整除,每一个数都不会被整除,才能判断其为素数。public class HomeWork {public static void main(String[] args) {int i,j,k,count=0;System.out.print("1-1000内的素数分别为:")

2017-07-17 21:32:30 869

原创 从键盘输入某个十进制小数或整数,转换成对应的二进制小数并输出。 (查询十进制小数转换成二进制小数的算法,使用循环来实现。 最多保留小数位后7位数字即可)算法

/*算法:把小数分成两截,一截是整数,一截是小数。让整数除以2取余,倒叙输出来打印出二进制(第一个数为个位,第二个数为10位,即乘以10,第三位数为百位,即乘以100。。以此类推,即循环乘以10),直到除数为0为止。小数乘以2,取整然后打印2进制,直到小数部分为0为止,或者打印小数后7位为止。(实就是每次循环让第一个数x0.1,第二个数x0.01,依次如此。最后相加,打印累加的

2017-07-15 11:09:55 4790

原创 经典问题1:使用java语言打印菱形

思考:打印菱形是一个运用for循环的经典算法,初次看之前觉得无从下手。但是步步拆解之后,发现打印出来并不是很难的事。一个菱形一个看做是一个正立的等腰三角形加上一个倒立的少一行的等腰三角形组成。那么其实就是首先先打印一个正立的等腰三角形,再打印一个倒立的少一行的等腰三角形。然后我们需要考虑的就是如何打印一个等腰三角形,打印等腰三角形其实就是先打印一个直角三角形,然后再在*号前面打上空格。

2017-07-13 19:58:06 354

空空如也

空空如也

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

TA关注的人

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