Java 基础
mhyunyun
这个作者很懒,什么都没留下…
展开
-
泛型
1、创建泛型对象的时候,一定要指出类型变量T的具体类型。争取让编译器检查出错误,而不是留给JVM运行的时候抛出类不匹配的异常。2、JVM如何理解泛型概念 —— 类型擦除。事实上,JVM并不知道泛型,所有的泛型在编译阶段就已经被处理成了普通类和方法。 处理方法很简单,我们叫做类型变量T的擦除(erased) 。总结:泛型代码与JVM① 虚拟机中没有泛型,只有普通类和方法。② 在编译阶...原创 2019-11-24 22:23:07 · 137 阅读 · 0 评论 -
归并(非递归)
分治思想:一一归并,二二归并,四四归并,八八归并......package com.mahai.sort;import java.util.Scanner;public class MergeNR { private static String[] aux; //TODO 一一归并,二二归并,四四归并,八八归并...... public static void sort(St...原创 2018-07-31 14:59:09 · 643 阅读 · 0 评论 -
快速排序(二切分,三切分)
思想:分治思想先排序(找到切分元素,小于此元素的放在前,大于此元素的放在后面)再递归。1.基本快速排序:2.二切分:i=low,j=hi+1,辅助元素v=a[low]package com.mahai.sort;import java.util.Scanner;public class Quick { //TODO 递归第一步 public static voi...原创 2018-07-31 22:00:01 · 1090 阅读 · 0 评论 -
java四大线程安全类
原创 2018-08-01 23:07:34 · 10285 阅读 · 0 评论 -
会话跟踪技术
会话跟踪技术 1.session用来表示用户会话,session对象在服务端维护,一般tomcat设定session生命周期为30分钟,超时将失效,也可以主动设置无效; 2.cookie存放在客户端,可以分为内存cookie和磁盘cookie。内存cookie在浏览器关闭后消失,磁盘cookie超时后消失。...原创 2018-08-01 23:09:28 · 572 阅读 · 0 评论 -
接口 MouseListener
接口 MouseListener 用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。)void mouseClicked(MouseEvent e) 鼠标按键在组件上单击(按下并释放)时调用。void mouseEntered(MouseEvent e) ...原创 2018-08-01 23:12:00 · 1403 阅读 · 0 评论 -
命令javac参数的用途
原创 2018-08-01 23:13:16 · 1369 阅读 · 0 评论 -
ArrayList和LinkedList
ArrayList和LinkedList//ArrayList源码public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable//LinkedList源码...原创 2018-08-01 23:15:48 · 94 阅读 · 0 评论 -
冒泡排序 (三种方法)
冒泡排序 方法一:每趟从第一个元素开始,依次与下一个元素比较,大的往下交换; 方法二:记录交换位置,可以省略下趟不必要的比较(如果后面几个元素已经是有序的,第二趟就直接不用比较这几个元素); 方法三:双向冒泡,正向找最大(从最小元素交换位置处开始比较,找到最大元素并记录交换位置),反向找最小(从最大元素交换位置处开始比较,找到最...原创 2018-08-02 11:17:45 · 10633 阅读 · 0 评论 -
八大排序算法的总结
1.元素比较次数与元素的初始排列无关只有: 选择排序2. 平均情况 最好情况 最坏情况 冒泡排序 O(n^2) O(n) O(n^2) 选择排序 O(n^2) O(n^2) O(n^2) 插入排序 O(n^2) O(n) O(n^2) 希尔排序 O(n^1.3) ...原创 2018-08-02 17:24:41 · 431 阅读 · 0 评论 -
java:split()的用法
先上源码: /** * Splits this string around matches of the given <a * href="../util/regex/Pattern.html#sum">regular expression</a>. * * <p> This method works as if b...原创 2018-08-27 20:30:15 · 488 阅读 · 0 评论 -
Java compiler level does not match the version of the instal project facet
问题: Java compiler level does not match the version of the instal java project facet解决方案:2种 1.我的问题是jdk和Tomcat版本不对应,1.8对应8.0...... 下图中Project Facets中java的下拉列中选择版本和右边的Runtimes...原创 2018-10-25 20:34:29 · 1548 阅读 · 0 评论 -
Target is not a supported Maven Home
问题: eclipse配置maven出现Target is not a supported Maven Home 解决办法: 我之前下的是apache-maven-3.5.4-src.zip 应该下载apache-maven-3.5.4-bin.zip ...原创 2018-11-01 17:40:46 · 8032 阅读 · 0 评论 -
Could not load the Tomcat server configuration at \Servers\Tomcat v8.0 Server at localhost-config. T
问题:Could not load the Tomcat server configuration at \Servers\Tomcat v8.0 Server at localhost-config. The configuration may解决办法: 重新配置一下Tomcat,在Windows-->prefrences-->server-->runtime...原创 2018-11-03 20:02:19 · 1185 阅读 · 0 评论 -
Constructor(构造器)
Constructor(构造器)类中有缺省构造器,不一定要定义构造器 ;方法可以和类同名,和构造器区别在于必须要有返回值类型 ;一个类可以定义多个参数列表不同的构造器,实现构造器重载 。...原创 2018-07-30 23:08:09 · 1113 阅读 · 0 评论 -
哈希冲突
哈希冲突 常见的哈希冲突解决方法: 1.开放地址法 2.链地址法(拉链法) 3.再散列 (二次哈希法)4.建立一个公共溢出区 以上方法都是解决哈希冲突的策略,但是在java.util.HashMap中,总体来说是使用的链地址法来解决冲突的。 当然了,使用链地址法会导致get的效率从o(1)降至o(n),所以在Java8中,使用的是平...原创 2018-07-30 23:06:48 · 208 阅读 · 0 评论 -
选择排序算法(两种)
简单的选择排序 从第一个元素开始跟剩余的所有元素比较,找出剩余元素中最小(最大)的元素位置,然后再交换开始元素位置与最小(最大)元素位置的值。(不断地选择剩余元素中的最小者) 特点: 1.运行时间与输入无关; 2.数据移动是最少的; 3.N次交换,N(...原创 2018-07-16 20:25:26 · 1597 阅读 · 0 评论 -
插入排序算法(两种,不包括希尔排序)
基本插入排序 从数组中第二个元素开始,与之前的元素比较,比较小的话就直接交换位置,再与前面的元素比较、交换........直到最后一个数组元素。 1 判断输入数组元素是否重复,输入数组长度是否是大于零的正整数 2 提速版插入排序 不需要交换元素,大元素往右移package com.mahai.sort;import j...原创 2018-07-17 19:44:10 · 292 阅读 · 0 评论 -
String中comparaTo()和comparable接口中comparaTo()的区别
都在在java.lang 包下java.lang.String中comparaTo()按字典顺序比较两个字符串。按字典顺序将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。 如果没有字符不同的索引位置,返回这两个字符串长度的差; 如果这两个字符串不同,且某个索引处的字符不同,同时长度不同(例如:asdd和abdche,索引1和3处不同); public ...原创 2018-07-19 13:37:34 · 1661 阅读 · 0 评论 -
希尔排序
希尔排序 基于插入排序的快速的排序算法,将数组从最大H( h=1,h<n/3,h=3*h+1)有序逐渐变为H=1有序,最终排序成功,这样对于序列比较乱,交换距离比较远的数组排序起来比较快。package com.mahai.sort;import java.util.Scanner;public class Shell { /** * TODO 希尔排...原创 2018-07-19 15:07:41 · 106 阅读 · 0 评论 -
线程、进程、线程池
原创 2018-07-19 19:51:22 · 95 阅读 · 0 评论 -
Servlet的总结
标题原创 2018-07-19 19:57:12 · 106 阅读 · 0 评论 -
4个线程安全类
原创 2018-07-19 20:05:01 · 188 阅读 · 0 评论 -
归并排序(递归)代码详解
归并是先递归后排序,把数组递归的分成两部分然后归并排序。思想:分治思想。package com.mahai.sort;import java.util.Scanner;public class MergeUp { private static String[] aux; //TODO 排序第一步 public static void sort(String[] a) ...原创 2018-07-25 22:59:23 · 3290 阅读 · 3 评论 -
Java与Python的一些区别
Java与Python的一些区别1.py是1991年问世,java是1995年问世;2.hello world代码区别:java:public class Hello{ public static void main (String[] args) { System.out.println("Hello World!"); }} py: prin...原创 2018-07-29 21:41:47 · 3521 阅读 · 0 评论 -
Object类
Object 是基类, Java中的所有的类都直接或间接的继承Object类; 从一个class派生的必然是另一个class(一个类的子类必然是一个类),Object是一个class,如果interface继承自Object,那么interface必然是一个class,显然interface不是一个类,接口中方法都是抽象方法,而Object里的方法都是实方法,注意接口间是多继承...原创 2018-07-29 21:48:48 · 102 阅读 · 0 评论 -
修饰符访问控制权限
原创 2018-07-30 23:01:51 · 229 阅读 · 0 评论 -
try--catch--finally
try--catch--finally1.try块中放置可能引发异常的代码 故不可被省略 ;2.Jdk1.7中新增了多个catch块的功能,用以捕获多异常, 捕获顺序为先小后大 ;3.finally块用作回收无法被JVM回收的物理资源 例如数据库链接 网络链接等 Jdk1.7中虽增强了try()的功能,使得其中的代码在程序执行完毕后自动关闭代码 相当与隐含finally块 ;4.c...原创 2018-07-30 23:03:52 · 131 阅读 · 0 评论 -
jsp中静态include和动态include的区别
jsp中静态include和动态include的区别动态 INCLUDE 用 jsp:include 动作实现 <jsp:include page="included.jsp" flush="true" /> 它总是会检查所含文件中的变化 , 适合用于包含动态页面 , 并且可以带参数。各个文件分别先编译,然后组合成一个文件。静态 INCLUDE 用 include 伪码实现 ,...原创 2018-07-30 23:05:15 · 2856 阅读 · 0 评论 -
原码, 反码, 补码 详解
原码, 反码, 补码 详解 方便计算机计算(加减法都视为加法) 出现+0和-0的问题用补码解决 原码------------------------------------------>反码--------------------------------------->补码一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念...原创 2018-06-09 16:52:44 · 515 阅读 · 8 评论