java学习
文章平均质量分 59
Adsh
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。
人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
展开
-
IDEA tomcate 进行查询数据,插入数据是出现问号???
遇到的问题:mysql,tomcate的server.xml,request,mysql连接中都设置了utf-8,但是依旧问题1:从IDEA插入数据到mysql,通过Navicat查询数据库中的数据,中文字段数据为???。问题2:通过在IDEA中查询数据(select * from user),IDEA控制台中出现的中文依旧为???。解决方法:在Navicat中,建立查询——show variables like ‘char%’;会出现很多不是utf8的选项,正是这个原因导致了???问题。将.原创 2021-07-15 19:54:52 · 783 阅读 · 0 评论 -
求一个数的最高的二进制位(java)
比如:输入:42 (0010 1010) 输出:32(0010 0000)假设第i位为1,1~i-1位 为0,i+1~最后一位 为0或1,表示为x.思路:1)0000 0000 01xx xxxx 变成 0000 0000 0111 11112)用0000 0000 0111 1111 - 0000 0000 0011 1111,结果=0000 0000 0100 0000...原创 2020-04-29 18:13:34 · 2544 阅读 · 0 评论 -
java基础之HashMap(jdk1.7)中的put()操作,源码分析
1.HashMap允许key和value都为空,HashMap是线程不安全的。HashTable中的key和value都不能为空。HashTable是线程安全的。2.HashMap中桶的概念:在jdk1.7中,HashMap是由数组和链表组成的。数组的每个索引被称作桶。3.为什么在jdk1.7中,HashMap是由数组和链表组成的?...原创 2020-04-30 12:03:44 · 759 阅读 · 0 评论 -
java基础之Map
1.Map存储的是一个键值对(key-value)2.在sesson、redis 、json 、HBase 中都有用到键值对。3.Map的子类:HashMap:数组+链表(1.7)数组+链表+红黑树(1.8) //Key:无序,唯一 ;Value:无序,不唯一 LinkedHashMap:链表 //有序的HashMap 可以按照插入顺序访问。 TreeMap:红黑树...原创 2020-04-29 16:06:10 · 167 阅读 · 0 评论 -
java面试题常问的一些知识点之间的区别?(不断更新)
1.Iterable接口和Iterator接口的区别 ?1)所有的集合类都默认实现了Iterable的接口 。Iterable接口中的方法: iterator() ,foreach() 。2)Iterator 也是一个接口,是由Iterable接口中的 iterator()返回。Iterator接口中的方法:hasNext()和next()。2.ArrayList和LinkedList...原创 2020-04-28 21:40:56 · 171 阅读 · 0 评论 -
Collection小结
1.Collection是集合类的一个总的接口。Collection有两个子接口:List和Set。Map是一个接口,但是不继承Collection。2.List接口的子类:ArrayList、LinkedList、Vector3.Set接口的子类:TreeSet、HashSet、LinkedHashSet。4.Map接口的子类:TreeMap、HashMap、LinkedHashM...原创 2020-04-28 10:37:45 · 147 阅读 · 0 评论 -
java基础之泛型(泛型类,泛型接口,泛型方法,泛型上下限)
1.泛型类:在定义类的时候,在类名的后面加上<E>。1)E只是起到占位的作用,当创建对象时,赋予真正的类型。2)E是泛型的形参,可以是一个,也可以是多个,如果是多个,用逗号隔开。3)泛型形参的命名规则,只要符合java的标识符规范就可以。但是,通常泛型形参是一个大写字母。如:E(element),K(key),V(value)。4)E可以再整个类中使用。比如:类的属性,...原创 2020-04-26 21:37:37 · 883 阅读 · 0 评论 -
java基础之Set及其子类
1.Set是接口,存放的是唯一、无序的数据。2.Set不可以通过下标获取对应位置的元素的值,因为无序的特点。没有get方法和set方法。3.Set的子类HashSet TreeSet LinkedHashSet3.1 HashSetHashSet底层的实现是HashMap,HashMap采用哈希表存储结构 ,哈希表就是有数组+链表组成的。数组是HashMap的主体,链表是为了...原创 2020-04-24 23:26:16 · 723 阅读 · 0 评论 -
java基础之比较器(comparable和Comparator)
1.比较器的两种方式:内部比较器 外部比较器2.内部比较器:定义在要比较的类中,通过comparable接口进行实现 。1)定义一个Person类,具有name和age属性。2)implements Comparable接口,并重写compareTo方法3)实现compareTo方法的内部逻辑。4)写一个测试类。将Person对象添加到TreeSet中,看是否实现排序。...原创 2020-04-24 16:26:54 · 478 阅读 · 0 评论 -
红黑树·删除操作,详细图解
红黑树的5个性质:性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3.所有叶子都是黑色。(叶子是NUIL节点) 性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。节点名称规定:删除节点为DD的父亲节点为PD的兄弟节点为BD的侄子节点为ND...原创 2020-04-23 16:57:42 · 8000 阅读 · 12 评论 -
红黑树的定义及其插入
1.红黑树(Red Black Tree)在1972年由Rudolf Bayer发明的。查找,插入和删除的时间复杂度都是O(log n)。n是节点的数目。红黑树不是严格意义上的平衡二叉树(AVL),但是总体的性能高于AVL树。红黑树在实际运用中也比较多。2.性质:性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3.所有叶子都是黑色。(叶子是NUIL节点) 性质4. 每...原创 2020-04-20 09:01:49 · 366 阅读 · 0 评论 -
AVL树删除,详细图解
AVL树删除节点的过程是,先找到该节点,然后进行删除。由于删除节点的位置不同,导致删除后节点进行移动的方式不同。删除节点的位置分为以下4类:1.删除叶子结点。操作:直接删除,然后依次向上调整为AVL树。2.删除非叶子节点,该节点只有左孩子。操作:该节点的值替换为左孩子节点的值,然后删除左孩子节点。【左孩子节点为叶子结点,所以删除左孩子节点的情况为第1种情况。】【为什么左孩子节点为叶子节点,...原创 2020-04-18 18:23:03 · 16126 阅读 · 9 评论 -
AVL平衡二叉树及其4种旋转方式
1.AVL平衡二叉树:二叉树中每个节点的左子树和右子树高度之差的绝对值小于等于1。2.平衡因子=左子树的高度-右子树的高度。AVL树的平衡因子只有-1,0,1。3.右旋转 LL旋转前特征:1)节点a为不平衡的节点。2)节点b和节点c为在高度较高的路径上,从a开始的接下来的两个节点。3)y1,y2,y3和y4代表节点a,节点b,节点c的子节点或者子树。可以为null,...原创 2020-04-17 22:12:42 · 1613 阅读 · 1 评论 -
java基础之Iterator和Iterable
一、5种循环方式do...while while for iterator 增强for循环ArrayList list=new ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);//for循环for(int i=0;i<list.size();i++){ System.out.print...原创 2020-04-14 17:52:04 · 577 阅读 · 0 评论 -
java基础之List及其子类
一、List API方法 get方法:获取集合中的第i个元素 indexOf方法:获取集合中某个元素的下标 lastIndexOf方法:当集合中有1个或者多个相同的元素,获取最后一个元素的下标 of方法:在jdk中的新特性,是一个静态方法,可以给集合一次性添加多个元素,适合在集合中存储的元素的个数已经确定了,不在改变时使用。 of方法只适用于List接...原创 2020-04-09 10:08:32 · 318 阅读 · 0 评论 -
java基础之容器Collection
1.如果并不知道程序运行时会需要多少对象,或者需要 更复杂方式存储对象——可以使用Java集合框架2.Collection特点:存放的是单一值 可以存放不同类型的数据,而数组只能存放固定类型的数据 当使用ArrayList子类实现的时候,初始化的长度是10,当长度不够的时候,会进行扩容操作。3.Collection继承关系框架图4.Collection、List、Set和Ma...原创 2020-04-09 09:27:39 · 177 阅读 · 0 评论 -
java基础之enum枚举
1.定义:枚举指由一组固定的常量组成的类型//枚举类定义public enum Gender { 男,女}//枚举类使用public class GenderTest { public static void main(String[] args) { Gender gender1=Gender.女; Gender gender2=Ge...原创 2020-04-05 23:02:14 · 185 阅读 · 0 评论 -
java基础之Math类
System.out.println(Math.abs(-3));System.out.println(Math.sqrt(4));//向上取整System.out.println(Math.ceil(3.14));System.out.println(Math.ceil(-3.14));//向下取整System.out.println(Math.floor(3.14));Syst...原创 2020-04-05 21:38:52 · 271 阅读 · 0 评论 -
java基础之Date类和Calendar类
一、中国和外国的时间格式中国:年、月、日、时、分、秒外国:星期、月、日、时、分、秒、时区、年 计算机开始计算时间:是从1970年1月1号0分0秒开始 java中Date类开始计算时间:是从1900年开始 二、Date类之间的继承关系三、 Date常用方法getTime():返回自1970年1月1日00:00:00 GMT以来的毫秒数Date date=ne...原创 2020-04-03 16:35:14 · 511 阅读 · 0 评论 -
java基础之String,StringBuffer和StringBuilder
一、String(final类) 【字符串的本质:是字符数组或者是字符序列 】字符串的两种创建方式 方式一:通过字面量或者字面量字符串通过”+”拼接的方式创建的String对象存储在常量池中,实际创建时如果常量池中存在,则直接返回引用,如果不存在则创建该字符串对象。String str="abc"; 方式二:使用构造函数创建字符串对象,则直接在堆中创建一个String对象。Str...原创 2020-04-03 10:59:54 · 103 阅读 · 0 评论 -
java基础之基本数据类型和包装类
一、java基本数据类型(8种)booleanbyte short int long float doublechar二、包装类(与基本数据类型对应)包装类是将基本数据类型封装成一个类,包含属性和方法,方便对象操作。 包装类位于java.lang包中。 BooleanByte Short Integer Long ...原创 2020-04-03 10:32:35 · 307 阅读 · 0 评论 -
java中String字符串和char[]或者byte[]的相互转换
String转成char[]String str="abcdef";char[] b=str.toCharArray();char[]转换为Stringchar[] chars=new char[]{'a','b','c','d','e','f'};//方式一String str=String.valueOf(chars);//方式二String str=new Str...原创 2020-04-02 22:30:09 · 499 阅读 · 0 评论 -
java中String的==,equals()和intern()
String str1="abc"; String str2="def"; String str3="abc"+"def"; String str4="abcdef"; String str5=str1+"def"; String str6=str1+str2; //==比较的是...原创 2020-04-02 21:54:31 · 153 阅读 · 0 评论 -
java中length,length(),size()区别
1.length属性——数组2.length()方法——String3.size()方法——集合翻译 2020-04-02 16:31:15 · 88 阅读 · 0 评论 -
java基础之异常
一、概念在程序运行的过程中,出现的不正常情况叫做异常二、注意点相同的代码在运行的时候,根据输入的参数或者操作的不同,有可能发生异常,有可能不会发生异常,应该在写代码的过程中尽可能的保证代码的正确性,不要到处都bug。 如果要解决代码中出想的异常,需要添加非常复杂的代码逻辑进行判断,会是代码变得非常臃肿,不利于维护,可读性差。因此,推荐使用异常处理机制处理程序运行过程中出现的问题。...原创 2020-04-01 12:16:52 · 138 阅读 · 0 评论 -
try-catch-finally 中,finally块唯一不执行的情况?
在try语句块中,输入:System.exit(-100);System.exit(-100),其中exit(int status)参数为0时表示exit(intstatus)原创 2020-03-31 22:48:14 · 381 阅读 · 0 评论 -
try——catch——finally 中return的各种情况
总结: try语句在返回前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,而后分为以下三种情况: 情况一:如果finally中有return语句,则会将try中的return语句”覆盖“掉,直接执行finally中的return语句,得到返回值,这样便无法得到try之前保留好的返回值。 情况二:如果finally中没有return语句,也没有改变...翻译 2020-03-31 22:06:23 · 1419 阅读 · 0 评论 -
如何按照某种格式输出(Java)
System.out.println(String.format("%d / %d =%d",a,b,a/b));原创 2020-03-31 14:48:52 · 838 阅读 · 0 评论 -
如何从控制台输入数据(Java)
Scanner scanner=new Scanner(System.in);int a=scanner.nextInt();原创 2020-03-31 14:47:18 · 387 阅读 · 0 评论 -
java基础之接口
定义: Java接口是一系列方法的声明,是一些方法特征的集合, 使用方法: 使用interface进行修饰。 接口中可以包含多个方法,且方法跟抽象类中的抽象方法一样,可以不写实现,子类再实现代码逻辑 子类实现接口使用implements关键字。 接口代表一种能力,接口中可以定义N多个方法,子类必须实现这些方法,将这些方法实现,意味着具有了方法的能力。(...原创 2020-03-31 14:08:18 · 252 阅读 · 0 评论 -
JFrame 报错
报错:The type JFrame is not accessible due to restriction on required library 代码:import javax.swing.*;public class SimpleGuil { public static void main(String[] args) { // TODO Auto-generated method st...原创 2018-04-22 14:18:52 · 1794 阅读 · 1 评论 -
Java中自定义枚举(Enum)项的值及int和Enum的互相转换
C++中定义枚举的时候可以直接指定枚举项的值,如:"enum {MAX_LENGTH = 255};"。其实Java也可以,今天学到了这种语法。C++的int和枚举互相转换使用强制类型转换即可,但在Java中从int构造Enum需要自己实现(不过如果枚举值从0开始递增就简单了,参考第二段代码)。自定义枚举值代码如下:[java] view plain copyenum FruitEnum { ...转载 2018-04-17 19:04:25 · 32018 阅读 · 0 评论 -
断言之简单使用
一、对断言的简单认识:打开断言,就能够在不变动任何一行程序的情况下帮助你对程序排除错误;关闭断言,加入到程序中的assert命令会被java虚拟机忽略。 public static void main(String[] args) { String s=null; assert s!=null?true:false; System.out.println("success"); ...原创 2018-04-17 17:14:57 · 554 阅读 · 0 评论 -
Frame如何实现关闭窗口
分三种情况来说明: 1. 用户类继承自Frame; 2. Frame对象作为用户类的数据成员; 3. 用户类继承自WindowAdapter.1. 用户类继承自Frame:代码如下:[java] view plain copyimport java.awt.*; import java.awt.event.*; public class MyFrame extends Fram...转载 2018-04-22 17:20:25 · 15303 阅读 · 2 评论 -
图像界面变成简单小例子之二
1.实现效果实现代码//金山词霸package com.hanshunpin.java32;import javax.swing.*;import java.awt.*;public class Demo04 extends JFrame{ //定义组件 JSplitPane jsp; JList jlist; JLabel jl1; public static void ...原创 2018-04-24 17:41:08 · 273 阅读 · 0 评论 -
图像界面变成简单小例子之一
效果图集中一览1.实现效果:代码实现:package com.hanshunpin.java32;import javax.swing.*;import java.awt.*;public class Demo01 extends JFrame{ /** * @param args */ JPanel jp1,jp2,jp3; JButton jb1,jb2; JTex...原创 2018-04-24 11:10:46 · 264 阅读 · 0 评论 -
JPanel简单使用
实现效果图:整体是一个JFrame,最上方是JPanel,最下方是JPanel代码如下:package com.hanshunpin.layout30;import javax.swing.JFrame;import javax.swing.*;import java.awt.*;public class Demo0501 extends JFrame{ /** * @param...原创 2018-04-23 23:49:00 · 43964 阅读 · 4 评论 -
三大常用布局管理器总结
总结:开发GUI程序步骤1.继承JFrame2.定义组件3.创建组件4.设置布局管理器5.添加组件6.设置窗体参数7.设置窗体可见如果是BorderLayout,则省略第4步,因为默认就是BorderLayout三大布局管理器当放大或者缩小会有什么变化?什么会发生变化?看图说话:BorderLayout:中部长和宽都变,西部和东部的长不变,宽变;北部和南部的长变,宽不变FlowLayout:每一个...原创 2018-04-23 19:03:32 · 921 阅读 · 0 评论 -
GridLayout简单学习
网格布局:GridLayout它将容器分割成多行多列组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,一次从左到右,从上到下放置其他的组件。注意事项:1.组件的相对位置不随容器的缩放而变化,但大小会变化2.所有组件大小相同3.可以通过GridLayout(int rows,int cols,int hgap,vgap)来指定网格的行/列,水平间隙,垂直间隙/** * 网格布局...原创 2018-04-23 18:51:56 · 211 阅读 · 0 评论 -
FlowLayout简单学习
流式布局:按照组件的添加顺序从左到右放置在容器中,当达到容器的边界时将部件放置在下一行中。FlowLayout可以是左对齐,右对齐,居中对齐的方式排列组件流式布局FlowLayout的注意事项1.不限制它所管理的组件大小,允许他们有最佳大小2.当容器被缩放时,组建的位置肯呢个变化,但是组件大小不变3.默认组件是居中对齐,可以通过FlowLayout(int aligh)函数实现对齐方式FlowLa...原创 2018-04-23 18:07:38 · 662 阅读 · 0 评论