
Ĵava
汐夜微凉
黎明升起,路在何方.
展开
-
定义一个抽象的Role类,有姓名,年龄,性别等成员变量
*定义一个抽象的“角色”类,有姓名,年龄,性别等成员变量 * * 1)要求尽可能隐藏所有变量(能够私有就有有,能够保护就不要公有) *,通过GetXXX()和SetXXX ()方法对各变量进行读写。具有一个抽象的play()方法, *该方法不返回任何值,同时至少定义两个构造方法。角色类中要体现出这种几种用法。 * * 2 )从角色类派生出一个“雇员”类,该类具有角色类的所有...原创 2018-06-23 22:24:40 · 9813 阅读 · 0 评论 -
Java实现七大排序
↵图片来自import com.sun.scenario.effect.Merge;public class Sort { private static void swap(int arr[], int i, int j) { int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tm...原创 2019-07-08 13:17:04 · 317 阅读 · 0 评论 -
在一个字符串中找到第一个只出现一次的字符(java实现)
题目:在一个字符串中找到第一个只出现一次的字符。如输入acbacd,则输出b。分析:这道题是2006 年google 的一道笔试题。由于题目与字符出现的次数有关,可以统计每个字符在该字符串中出现的次数,需要一个数据 容器存放每个字符的出现次数. 即这个容器的作用是:把一个字符映射成一个数字。想到利用字符的ASCII码,在常用的数据容器中,哈希表可实现此用途.public cla...原创 2018-08-17 21:52:35 · 6943 阅读 · 0 评论 -
排序算法(三):堆排序
1.Heap.classpackage cn.sort.heap;/** * 堆排序实现:升序排序 * @author LY * */public class Heap { /** * 打印数组 * @param arr * @param size */ public static void printArr(Inte...原创 2018-08-03 16:11:35 · 179 阅读 · 0 评论 -
排序算法(四):快速排序
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列时间复杂度: 最坏 O(N ^ 2)(如果数组是逆序的) 平均水平 O(NlogN) 空间复杂度: O(N) ...原创 2018-08-11 22:56:48 · 400 阅读 · 0 评论 -
排序算法(五):归并排序
归并排序时间复杂度: O(NlogN)空间复杂度: 对于数组来说, O(N)稳定性: 稳定排序/** * 1.拆分 * 2.归并 */public class MergeSort { public static void mergeSort(int arr[], int low, int high){ if(low < high){...原创 2018-08-14 21:08:25 · 426 阅读 · 0 评论 -
排序算法(二):希尔排序
package com.company;public class Shell { public static void swap(int[] arr, int a, int b) { int tmp = arr[a]; arr[a] = arr[b]; arr[b] = tmp; } /** * 希尔排序: ...原创 2018-08-06 18:47:07 · 230 阅读 · 0 评论 -
排序算法(一):三种简单排序(冒泡 选择 直接插入)
1.冒泡排序 约定按照元素的大小升序排序 时间复杂度: O(N ^ 2) 空间复杂度: O(1)基本思想:对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。package com.company;public class Bubble { /** * @param arr ...原创 2018-08-06 17:09:10 · 229 阅读 · 0 评论 -
反射四大核心类:Class、Constructor、Method、 Filed
反射总结 反射四大核心类:Class、Constructor、Method、 Filed一、Class类:1.核心操作:Object public final native Class原创 2018-08-10 16:23:16 · 727 阅读 · 0 评论 -
反射操作之单级VO
想要修改设置一个类中属性,需要调用setter方法,当项修改的属性特别多的时候,就需要调用很多次setter方法因此通过反射一次就将信息更改。简单的实现了: 将信息放入字符串中,如:”emp.ename:leon|emp.job:Coder”。然后通过反射 操作,设置类中属性。1.Test.javapackage cn.java.reflect2;public class ...原创 2018-07-30 20:20:45 · 218 阅读 · 0 评论 -
反射设置属性值(私有及公有)
package cn.java.vo;/** * 利用反射设置属性 */import java.lang.reflect.Field;class Person { public String name; public int age;}class Student extends Person { private String school;}public...原创 2018-07-30 18:30:12 · 455 阅读 · 1 评论 -
Java简单工厂
利用反射来优化传统的工厂设计package cn.java.vo;/** * 简单工厂模式: * 每当新增接口子类,无需去修改工厂类代码就可以很方便进行接口子类扩容 * @author LY * */interface IFruit { void eat();}class Apple implements IFruit { @Override publ...原创 2018-07-30 11:38:20 · 150 阅读 · 0 评论 -
线程的同步与死锁
线程同步与死锁1.内键锁synchronized:JDK1.0 作为关键字提供的同步方法a.同步代码块:推荐使用,锁粒度较细使用内键锁syschronized作用于方法中, syschronized(this) {//表示当前对象 //需要同步的代码块 }b.同步方法使用内键锁synchronized作用于方法头,同一时刻只有一个线程能进入此方法...原创 2018-07-28 16:56:30 · 216 阅读 · 0 评论 -
创建线程的四种方法
Java多线程创建(不管怎样,启动线程调用start())一.继承Thread实现多线程, 而后覆写run()[run方法为线程类核心方法]相当于主线程main(),相当于入口a.一个线程调用两次start(),抛出状态异常。 即一个线程的start()方法只能调用一次 b.native声明的方法,没有方法体,只有声明,但本地方法不是抽象方法, 而是...原创 2018-07-28 16:16:19 · 494 阅读 · 0 评论 -
泛型
解决程序参数转换问题 解决向下转型出现的安全隐患指的是类定义的时候不会设置属性或方法参数的具体类型,而是使用时定义。 泛型类定义:class MyClass<T> {//T:类型参数,可以指代任何引用类型(基本类型无法取代) T value1;//T代表任意类型 }引入泛型的作用: 1、用于检测编译期,参数类型...原创 2018-07-28 15:11:11 · 146 阅读 · 0 评论 -
总结String类、Object类、包装类
一、String类1、String类的两种实例化方法 1)直接赋值 String str = “Hello Leon”;//Hello Leon 是对象,保存在堆内存 System.out.println(str); 2)传统方法(new 操作) String str1 = new String(“Hello Leon”); System.out...原创 2018-07-08 09:26:26 · 236 阅读 · 0 评论 -
Java斐波那契数列(命令行参数实现)
一个斐波那契数列是由数字1,1,2,3,5,8,13,21,34等等组成的,其中每一个数字(从第三个数字起)都是前两个数字的和。创建一个方法,接受一个整数参数,并显示从第一个元素开始总共由该参数指定的个数所构成的所有斐波那契数字。例如,如果运行java斐波那契5(Fibonacci为类名),那么输出应该是1,1,2,3,5。 公开课Fibo { public static int fib...原创 2018-06-23 22:53:33 · 683 阅读 · 0 评论 -
水仙花
/ * *打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 *例如:153是一个“水仙花数”,因为153 = 1的三次方+5的三次方+3的三次方。 * /公开课水仙{ public static void daffodil(){ for(int i = 100; i <= 999; i ++){ int a = i%10;...原创 2018-06-23 22:32:42 · 246 阅读 · 0 评论 -
小肚皮上机面试
小肚皮上机面试周二、周四,男女同事一块吃饭。。。原创 2019-07-31 22:22:52 · 687 阅读 · 0 评论