
java
栋感科技
一只游走在互联网的程序猿~
展开
-
图书管理系统(JAVA)
书类实现:public class Book { private String name; private String author; private double price; private String tpey; private boolean isBrrow; public Book(String name, String autho...原创 2019-11-01 09:24:10 · 304 阅读 · 0 评论 -
Final、static、
finalfinal所修饰的变量只能被赋值一次;地址和值固定,防止调用时改变值。final所修饰常量放在常量池,常量池jdk1.7及以后位于方法区。static1、static表示静态的,2、static修饰的方法或成员属性,函数等只能在static方法或成员属性可以在static代码块中访问;3、static方法可以访问非静态函数4、static所修饰的在方法区;...原创 2019-10-31 08:55:29 · 131 阅读 · 0 评论 -
优先级队列(大堆的实现)
优先级队列的基本实现(大堆)public class ProiorityQueue { private int[] array = new int[10]; private int size = 0; //向上调整 private void adjustUp(){ int index = size; while (index != ...原创 2020-02-09 14:04:41 · 186 阅读 · 0 评论 -
顺序表的实现
单链表的实现class MyArrayList { private int[] elam; private int usedSize; private final int CAPACITY = 10; public MyArrayList(){ this.elam = new int[CAPACITY]; this.usedSiz...原创 2019-10-24 11:21:06 · 176 阅读 · 0 评论 -
switch语句的判断类型
short、int、char、byte、String原创 2020-02-06 17:26:03 · 359 阅读 · 0 评论 -
线程池模型实现
代码中附注解public class MyThreadpool { private static class Worker extends Thread{ //创建队列存放线程 private BlockingQueue<Runnable> queue = null; //工作类构造方法传入线程队列 Worker...原创 2020-02-15 13:03:00 · 175 阅读 · 0 评论 -
定时器(闹钟)设计
1.创建MyTimerTask类,定义两个变量,运行时间runAtTime和任务target;2.构造方法中初始化时间和任务,时间为传入时间参数+系统当前时间;3.复写Comparable比较执行时间的优先级;private static class MyTimerTask implements Comparable<MyTimerTask>{ long runAtTim...原创 2020-02-10 17:34:13 · 842 阅读 · 1 评论 -
生产者消费者模型
首先实现一个队列public class ArrayQueue { private int[] array = new int[10]; private int size = 0; private int front = 0; private int rear = 0; public void put(int val){ if(size ...原创 2020-02-09 22:18:54 · 238 阅读 · 0 评论 -
wait()、notify和notifyAll
基本用法1.object.wait();等待object被唤醒2.object.notify();随机唤醒一个等待object的线程3.object.notifyAll();唤醒所有等待object的线程4.使用wait()方法会抛出InterruptedException5.使用这三个方法需要在外部对object对象加锁否则会抛出IllegalMonitorStateException...原创 2020-02-09 10:57:21 · 131 阅读 · 0 评论 -
线程vs进程
区别1:进程是资源分配的最小单位。线程是cup调度的最小单位,对于系统开销来说,线程比进程的开销小。区别2:一个程序可以有多个进程,一个进程可以有多个线程。区别三:进程间资源独立,一个进程的多个线程之间共享该进程的资源。区别四:线程不能独立运行必须依赖于进程和应用程序的调用。区别五:进程会由系统分配地址空间,而线程没有独立的地址空间,共享所属进程的地址空间。...原创 2020-02-09 10:36:55 · 123 阅读 · 0 评论 -
单例模式(饿汉模式、懒汉模式)
单例模式:当只需要用到类的一个实例对象时,我们需要用单例模式来设计类;有以下两种方法:饿汉模式class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance(){ ...原创 2020-02-06 15:55:49 · 1726 阅读 · 0 评论 -
面试重点汇总
文章目录Hashcode()Hashmap集合框架未完待续...敬请期待?一波关注-.-Hashcode()1.hashcode值从何来:通过hash函数/算法求得hash值,该值在hash表中的位置就是hashcode;2.hashcode的用途hashcode主要为了查找的快捷性,hashcode是用来确定散列存储结构中对象的地址;3.hashcode与equals两点:(1)e...原创 2020-02-17 23:22:56 · 265 阅读 · 0 评论 -
Java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
Java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed原因与解决办法原因:当在doget()方法中调用dopost()方法,并在dopost方法中调用resp.sendRedirect();解决办法:1.将跳转放在doget()方法中;2.在resp...原创 2020-02-17 13:07:59 · 563 阅读 · 0 评论 -
interrupt()、isInterrupted()、Thread.interrupted()
普通方法:线程A调用B.interrupt()通知B线程停止情况一:如果B线程正在休眠(sleep/wait/join),会受到InterruptedException异常,状态位保持false;情况二:如果B线程没有休眠,状态改为true;isInterrupted()和静态方法Thread.interrupted()线程可以通过普通方法:isInterrupted()和静态方法Thre...原创 2020-01-30 11:05:58 · 251 阅读 · 0 评论 -
Thread的方法,属性
创建一个指定名字的线程若不指定名字,JVM会给定一个名字;private static class MyRunnable implements Runnable{ @Override public void run() { while (true) { try { Thread.sleep(1000); ...原创 2020-01-30 10:13:51 · 231 阅读 · 0 评论 -
方法覆写的五个相同
1.方法名相同2.参数列表相同3.返回值类型"相同"(也可不同)返回值类型可为父类方法返回类型的子类4.访问限定符相同(也可大)可以大,不能5.声明抛出的异常列表要相同抛出的异常也可为父类抛出异常的子类异常;//创建Animal类class Animal {}//创建Bird类并继承Animalclass Bird extends Animal{}//创建AnlimalEx...原创 2020-01-30 09:11:28 · 199 阅读 · 0 评论 -
几种常见的创建线程的方式
1.继承Thread方法,并覆写run方法;private static class MyThread extends Thread{ @Override public void run() { System.out.println("继承线程类"); }}//创建并启动MyThread myThread = new MyThread();myTh...原创 2020-01-30 08:53:06 · 169 阅读 · 0 评论 -
线程有哪些状态?如何转换?
线程状态NEW: 当创建一个新线程时,为NEW状态RUNNABLE:调用start()后WAITING:使用wait()方法BLOCKED:该线程等待另一个线程释放资源时,处于阻塞状态TIMEWAITING:调用sleep()方法TERMINATED:当线程结束(run()方法结束);...原创 2020-01-26 22:17:08 · 185 阅读 · 0 评论 -
自动拆/装箱与手动拆/装箱的具体实现
自动装箱Integer n = 10;自动拆箱Integer n = 10;int m = n;//自动拆箱手动装箱int n = 10;Integer m = Integer.valueOf(n);手动拆箱Integer m = Integer.valueOf(10);int n = m.intValue();面试题Integer a = 128;Integer b =...原创 2019-11-13 21:28:58 · 208 阅读 · 0 评论 -
为何用泛型?java
泛型的引入如果我们要写一个顺序表,并在其中存储objct元素,之后进行类型转换时就会出现运行时错误MyArraylist books = new MyArraylist();books.add(1);books.add("baby");books.add('c');String str = (String)books.get(2);//运行时出现错误这时我们使用泛型...原创 2019-11-13 20:37:42 · 135 阅读 · 0 评论 -
顺序表实现循环队列
public class MyQueueCircle { public int[] elem; public int frout; public int rear; public MyQueueCircle(){ elem = new int[10]; this.frout = 0; this.rear = 0; ...原创 2019-11-13 20:24:34 · 204 阅读 · 0 评论 -
单链表实现队列
class Node{ int data; Node next; public Node(int data){ this.data = data; }}public class MyQueue { public Node head; public Node tail; int useSize; public v...原创 2019-11-13 20:23:37 · 155 阅读 · 0 评论 -
顺序表实现栈
class MyStack <T>{ public T[] elem; public int top; public MyStack(){ this.elem = (T[])new Object[10]; } private boolean isFull(){ if(this.top == elem.lengt...原创 2019-11-13 20:22:32 · 183 阅读 · 0 评论 -
JAVA中的异常如何处理?
try catch基本用法try{ //有可能出现异常的语句}catch(Exception e){//异常的类型 和接受对象}finally { //异常的出口,最后执行且一定被执行}注:可以不写finally语句;示例try{ int[] array = new int[9]; array[100] = 100;//下标越界}catch(A...原创 2019-11-07 11:34:52 · 202 阅读 · 0 评论 -
String的深度剖析
String创建对象1.如果常量池中无字符串"hello",将放入常量池;String str1 = "hello";2.通过new产生一个新的String对象,如果常量池中有字符串"hello",则引用"hello"String str2 = new String("hello");3.通过new创建String对象时一定生成了新的对象,并且String源码中构造方法的形参列表val...原创 2019-11-05 21:06:32 · 176 阅读 · 0 评论 -
抽象类和接口基础知识总结及代码
多态向上转型,动态绑定class Shape{ public void draw(){ System.out.println("Shape::draw()"); }}class Cycle extends Shape{ @Override public void draw() { System.out.println("画圆...原创 2019-10-30 22:36:38 · 227 阅读 · 0 评论 -
实现交换两个变量的值。要求:需要交换实参的值。
package homework;public class Chenge{ static class Mytest{ public int num; } public static void swp(Mytest a, Mytest b){ int tmp = a.num; a.num = b.num; b...原创 2019-10-29 19:12:06 · 203 阅读 · 0 评论 -
单链表的实现和测试(JAVA)
单链表的实现class Node { public int data; public Node next; public Node(int data){ this.data = data; }}class MyLinkList { public Node head; public MyLinkList(){ t...原创 2019-10-29 17:44:56 · 569 阅读 · 0 评论 -
双向链表的实现和测试(JAVA)
双向链表的实现class Node{ public Node next; public Node prey; public int data; public Node(int data){ this.data = data; }}class DoubleList{ public Node head; public N...原创 2019-10-29 16:05:17 · 441 阅读 · 1 评论 -
类和对象知识要点总结
文章目录类和对象何为过程?何为对象?何为类?类和对象C:面向过程JAVA/C++:面向对象何为过程?何为对象?何为类?例如:将一个大象放进冰箱分为三步:**面向过程**:1.打开冰箱。2.放入大象。3.关闭冰箱;**面向对象**:打开冰箱,储存,关闭都是对冰箱的操作,冰箱的行为。此时冰箱就是一个对象,所以只要把冰箱所具备的功能都定义于冰箱上进行操作就是面向对象的思想。...原创 2019-10-23 13:05:52 · 312 阅读 · 0 评论 -
十进制整数, 如何转成二进制形式? 如何转成十六进制形式?
十进制转二进制:方法1:用十进制的的数除以16得到商和余数,再用商除以2得到一个商和余数,依次用商除2直到商为0,最后将先得到的余数作为低位依次排列起来,就得到了一个二进制数;十进制转十六进制:注:在十六进制中,0、1、2、3、4、5、6、7、8、9、A—>10、B、C、D、E、F—>15;方法1:用十进制的的数除以16得到商和余数,再用商除以16得到一个商和余数,依次用...原创 2019-10-10 22:54:53 · 347 阅读 · 0 评论 -
数据类型和运算符
变量:在系统存储结构中变化的量称为变量。类型(在java语言中无32位或64位对变量类型最值的影响,体现了Java的可移植性):int:整型变量,四个字节,范围 :(-2的31次方) 至 ( -2的32次方-1);用法:int 变量名 = 变量值long : 长整型,八个字节,范围 :(-2的63次方) 至 ( -2的63次方-1);用法 : long 变量名 = 变量值L;//...原创 2019-10-10 22:31:46 · 199 阅读 · 0 评论