java问题
文章平均质量分 83
费城之鹰
天津理工大学,计算机与通信工程学院,计算机科学与技术。
展开
-
MySQL 中文查询条件返回结果为空 查询结果为空
问题:最近在做一个APP,APP要通过jdbc直接调用SQL访问MySQL的数据库,其他问题先不说,遇到一个奇怪的现象,同样一条SQL语句,用Navicat去执行的时候,就可以查出来数据库记录数据,但是放在代码里,这条SQL语句就查不出来数据,显示查询结果是null,啊哟,神奇了,排查bug经过:1.项目中为了效率使用了hutool作为数据库连接池,难道是这个第三方库有bug,不可能啊,这种大型的已经使用这么长久的库怎么会出现这种低端问题,但是还是更新到了最新版本,没卵用,不是这里的问题。2.难道是原创 2020-10-13 20:26:59 · 2957 阅读 · 0 评论 -
关于Java多线程---------(3,同步与死锁)
1,线程同步的作用2,同步代码块以及同步方法的作用3,死锁的产生在多线程的开发中,同步与死锁是非常重要的,那么问题来了,对于这两个东西,需要思考几个问题。1,代码的什么地方需要同步;2,如何实现同步;3,实现同步之后有哪些副作用。1,问题的出现,为什么要有同步?(什么是同步,为什么要有同步)举个例子来说,卖火车票,售卖火车票会有多个售票站点,一趟火车的座位数是固定的,把各个售票点就可以理解为各个线程原创 2017-06-24 20:01:43 · 394 阅读 · 0 评论 -
Java中部分技术点的出现---个人的思索。。。。。
封装是为了,保护数据,保护内部的数据不被外部直接所访问到,要想访问到,需要通过setter、getter的方式进行访问;继承是为了扩展类的功能;多态呢?多态其实离不开抽象类和接口以及继承,多态其实就是一个对象的多种状态,在不同情况下的多种状态,多态的出现其实就是为了区分关联各个父类,子类,对象之间的关系,让他们既可以保持联系,又可以很方便的区分开来;在面向对象语言中,接口的多种不同的实现方式即为多态原创 2017-06-10 21:36:00 · 217 阅读 · 0 评论 -
Java 包及访问控制权限---小总结
1,包的作用以及定义2,包的导入语法以及导入限制3,Java常用包4,Java新特性—静态导入5,jar命令的使用6,访问控制权限在大型程序的开发中,可以将一个大的模块,拆分开来,拆分 成多个类,这样一来,更便于代码的维护,也可以分派给多个人开发,加快开发效率。 多人同时开发,虽然会加快开发效率,但是多人开发,不可避免的会存在类名称相同的问题,类名称相同会怎么样,提交代码到服务器,相同的类名的文件原创 2017-06-09 21:26:22 · 1112 阅读 · 0 评论 -
关于Java多线程--------(2,线程常用操作方法)
1,设置和获取线程名称2,线程的强制运行3,线程的休眠4,线程的礼让5,线程的中断操作在多线程中,所有的线程操作方法,基本上都是在Thread类中。 常用的线程操作方法有: 1接收Runnable接口子类对象,实例化Thread对象Allocates a new Thread object.Thread(Runnable target) 2接收Runnable接口子类对象,实例化Thread对原创 2017-06-15 21:10:10 · 365 阅读 · 0 评论 -
Java异常的捕获及处理---小总结
一:异常的基本概念二:异常的基本处理格式三:异常的继承结构四:Java的异常处理机制五:throws和throw关键字的作用六:Exception和RunntimeException的区别七:自定义异常类八:断言的作用和应用1,为什么需要异常处理?异常是导致程序中断执行的一种指令流。如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以 在程序的设计中必须要考虑各种异常的发生原创 2017-06-06 15:30:52 · 27622 阅读 · 13 评论 -
ArrayList,LinkedList,LinkedSet,区别小总结
一个朋友,对这三个的精辟总结,保存起来,日后查看源码验证一番。 先说ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高. LinkedList的话 底层数据结构是链表,查询慢,增删快,线程不安全,效率高. 而LinkedSet 这玩意是set的儿子 和LinkedList的区别就是 有序无序 LinkedList 是有序的 LinkedSet原创 2017-05-22 11:18:27 · 852 阅读 · 0 评论 -
抽象类、接口
抽象类和接口是Java面向对象中最重要最有特色的,Java编程中很多的设计模式,优秀的代码都需要依托此两个概念。一:抽象类1,概念抽象类:包含(至少)一个抽象方法的类就称为抽象类,这个类需要使用abstract修饰。抽象方法:只声明而未实现的方法就称为抽象方法,抽象方法必须用abstract关键字声明。2,抽象类的定义以及使用规则:1,包含一个抽象方法的类必须是抽象类; 2,抽象方法和抽象类都要使原创 2017-03-23 14:09:37 · 537 阅读 · 1 评论 -
关于Java多线程------(1,认识多线程)
1,进程与线程的区别2,Java线程的两种实现方式以及区别3,线程的操作状态1,微软最初的dos是采用单进程的处理方式,在同一段时间内,只能有一个程序独自运行,后来,Windows是采用了多进程处理方式,在一个时间段上,会有多个程序同事运行。比如说,打开Windows的任务管理器,就可以看到很多的正在运行的程序以及各个进程。 打开一个应用程序,其实在操作系统上就是给分配了一个进程,比如打开一个wo原创 2017-06-13 18:28:52 · 252 阅读 · 0 评论 -
泛型基础------(1)
1,泛型的产生意义;2,泛型的基本使用;3,泛型的警告信息以及泛型的擦除;1,为什么要使用泛型?泛型是在jdk1.5出现的, generic;为什么要使用泛型,对于这个问题,先看一个场景。问题:分析:一看到这样的需求,首先就要考虑到,必须建立一个坐标点的类——Point,此类中有两个属性分别表示x坐标和y坐标,但是x和y中所保存的额数据类型会有3种(int,float,String),而要想使用一个原创 2017-07-10 20:22:49 · 398 阅读 · 1 评论 -
泛型-通配符-------(2)
1,通配符“?”的使用2,受限泛型的设置3,泛型与子类继承的限制1,匹配任意类型的通配符在开发中,对象的引用传递是最常见的,但是如果在泛型类的操作中,在进行引用传递的时候,泛型类型必须匹配才可以传递,否则是无法传递的。class Info{ private T var ; // 定义泛型变量 public void setVar(T var){ this原创 2017-07-15 14:16:39 · 458 阅读 · 0 评论 -
单向列表设计,单向链表的增加节点、删除节点、查询节点、打印链表
java首先单向链表,实现链表的末尾增加,删除节点,查询节点,打印链表。简短精悍的设计,记录一下,多多学习这样的设计思路。class Link{ class Node{ private String data;//值 private Node next;//下一个节点的引用 public Node(String data){ this.data=data; } pr...原创 2019-08-26 19:48:19 · 452 阅读 · 0 评论 -
总结3-3 集合之map
Map接口 Map接口与Collection接口类似,也是一个最大的接口。1,Map接口与Collection接口的不同; 2,Map与Map.Entry接口的关系; 3,Map接口的常用子类:HashMap、HashTable、TreeMap、WeakHashMap; 4,HashMap与HashTable的区别。Collection的操作中,每次保存的对象都是一个对象,但是在m...原创 2018-04-24 14:31:42 · 271 阅读 · 0 评论 -
总结3-2 集合之Set
(2)Set 1,Set接口与Collection接口的关系、Set接口的基本作用; 2,Set接口的常用子类:TreeSet、HashSet; 3,Set的输出,不能双向输出,因为没有提供get()方法,只能通过迭代器输出。 两个子类的区别: ①:HashSet散列存放 ②:T...原创 2018-04-24 14:26:00 · 243 阅读 · 0 评论 -
总结3-1 集合之List
(1)List: 1,List接口与Collection接口的关系; 2,List接口的常用子类:ArrayList、Vector; 3,ArrayList与Vector的区别; 4,List的增删改查,输出,可以进行双向输出。 ArrayList类与Vector类的比较: ...原创 2018-04-24 14:24:38 · 237 阅读 · 0 评论 -
总结2 基本数据类型及其包装类
java数据类型,总的来说可以分为两类:基本数据类型和引用数据类型。原创 2018-04-24 14:22:09 · 211 阅读 · 0 评论 -
总结1-String、StringBuffer、StringBuilder
总结1-String、StringBuffer、StringBuilder对于这3个类,使用最多的应该是String类了,他们之间有区别,有联系。 首先,从最简单的地方开始说,他们都在同一个包下,java.lang.这个包下。...原创 2018-04-24 12:22:17 · 245 阅读 · 0 评论 -
eclipse关联Java,jdk源码
今天和朋友在讨论一个问题的时候,各执一词,最后,逐层深入分析,Java查找源码中的处理逻辑,最后才分出胜负,其实这个问题是一个小问题,list的判断,是不是空,使用equals()方法进行判断,他坚持这是OK的,我坚持是先判断list!=nulll&&list.size()>0`很容易忽略的地方,这个问题其实无关大雅,但是主要问题是,去找源码的时候,尴尬了,查看不到,因为源码是打在一个jar包里的,原创 2017-08-03 19:41:35 · 5079 阅读 · 0 评论 -
泛型的其他应用---------(3)
1,泛型接口的使用2,泛型方法的定义及使用3,泛型数组的使用4,泛型的嵌套设置1,泛型接口声明泛型接口和声明泛型类的语法类似,也是在接口名称后面加上,格式: interface Info{ // 在接口上定义泛型 public T getVar() ; // 定义抽象方法,抽象方法的返回值就是泛型类型}class InfoImpl implements Info{ //原创 2017-07-15 18:15:15 · 348 阅读 · 1 评论 -
对象多态性的理解
面向对象的三大特性:封装—保护类中的属性不被外部直接访问到;继承—扩展类的属性和功能;那么多态性呢?多态性是Java中最强悍的地方,那么有一个简单但是又需要好好推敲的疑问:什么是多态?什么是对象的多态?1,什么是多态?,按我的理解,什么是多态,字面意思咯,多种状态。,面向对象的多态特性有两种提现方式:1,方法的重载与覆写(有的人说这不算多态,然而,我感觉算,因为他们也满足了多种状态的要求);2,对象原创 2017-03-30 22:24:51 · 8164 阅读 · 2 评论 -
回调-----小总结。
在开发中,总是会遇到情况,类似,A页面跳转到B页面,在B中做一些操作,然后回到A并且拿到B操作之后的结果给A,最后,需要在A中进行页面刷新的操作,问题是,B无法,传值给A,这就尴尬了,其实一个回调就可以解决问题。总结了下:有一句金科玉律:谁实现了这个回调接口,谁就会走这个回调,不管是谁activity或者fragment,或者dialog,只要他实现了这个回调接口,那么他肯定就会执行接口中的方法,在原创 2017-05-06 11:00:47 · 214 阅读 · 0 评论 -
String类的常用方法总结
String是个常用的类,API中有许多方法,可以方便的操作字符串对象其实最好应该直接查询Java-doc,而且最好直接查询英文版本的。因为Java是一门优秀的语言,其说明文档非常完备。1,字符数组与字符串:字符串变为字符数组:public char[] toCharArray()字符数组变为字符串:使用String的构造方法实现public String(char[] value)public原创 2017-02-24 11:52:37 · 738 阅读 · 0 评论 -
String类的使用总结
String对象有两种实例化方式String StringBuilderStringBuffer原创 2017-02-23 18:21:25 · 327 阅读 · 0 评论 -
构造方法的理解
构造方法:一旦有对象实例化,就会调用构造方法,只是声明对象并不会调用构造方法。Java中,一个类如果没有明确声明一个构造方法,则系统会自动生成一个无参的,什么都不做的构造方法。如果类中明确定义了一个构造方法,则系统就不会自动生成这个无参的构造方法了。当然构造方法也是方法,也就支持重载,所以每个类中至少存在一个构造方法。 构造方法有何作用?为什么出现这个东西呢?其实构造方法是用来初始化类中的那些成员原创 2017-02-23 14:44:43 · 487 阅读 · 0 评论 -
面向对象,引用传递
Java中,数据类型,总的来说,分为两种,基本数据类型和引用数据类型。8种基本数据类型又分为:数值型、字符型、布尔型。数值型分为,整数类型(byte,short,int,long)、浮点类型(float,double)。 String本身是一个类,是属于引用数据类型,任何数据类型和String相连,都会自动向String转换 引用数据类型分为,类、接口、数组。创建对象时候的内存划分情原创 2017-02-22 15:54:58 · 489 阅读 · 0 评论 -
面向对象自己的见解
程序设计,总的经历了面向过程阶段,面向对象阶段,下面,记录一下,自己的理解,做一个记录: 面向过程,似乎就是一个个函数,一个个方法,这些方法用于解决某些需求,某些问题,所以,面向过程的程序设计中,程序粒度,程序的基本单元是方法; 面向对象,什么是面向对象,简单的理解里,面向对象,就是将现实世界的事物,(都是一些具体的事物)进行抽象,进行抽取,抽取共性,形成一个抽象的概念,原创 2017-02-22 12:02:48 · 393 阅读 · 0 评论 -
Java this关键字,static关键字
this关键字,主要3个作用:1,this.属性,this.方法,表示当前对象的属性,当前类的方法 2,this,表示当前对象,当前正在操作这个方法的对象就是当前对象 3,使用this(参数若干),可以调用当前类的构造方法,如果,构造方法之间相互调用,则有要求:一:this()必须放在首行,二:至少有一个构造方法是没有调用this(参数若干)的,就是说构造之间不能循环调用。static关键字不用原创 2017-02-27 18:35:40 · 303 阅读 · 0 评论 -
关于list集合的小总结
首先说List1,List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复,因为该集合体系有索引。 2,ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步。 3,Vector:底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢,被ArrayList替代了)。 4,L原创 2017-01-12 11:31:21 · 471 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-12-13 12:01:49 · 278 阅读 · 0 评论 -
引用传递经典例子,内存分析
对于引用传递,有几个非常经典的例子,一个老师曾经做过分成详细的内存分析,这里总结下,拿出来,每当忘记或者不清楚的时候,一看就能明白了。, 1,class Demo{ int temp = 30 ; // 此处为了方便,属性暂时不封装};public class RefDemo01{ public static void main(String args[]){原创 2017-02-27 15:28:21 · 598 阅读 · 0 评论 -
构造方法私有化--単例设计模式
面向对象的封装特性,最简单的是提现在对类的属性的封装,其实,类的方法也是可以进行封装的,构造方法,私有化,就是对构造方法的封装。构造方法私有化,就不能直接在类的外面通过new 类名称();来实例化对象了,这样使用起来似乎不那么方便了,那么问题来了:1,为何要私有化构造方法呢?2,私有化了构造方法,就可以说采用了単例设计模式,那么,采用単例设计模式有什么优点?提供了什么方便?和没有使用単例模式相比有什原创 2017-03-13 17:24:57 · 310 阅读 · 0 评论 -
设计模式---工厂模式,我的理解,总结
1,首先说,什么是设计模式?设计模式为什么会出现?它的出现是为了解决什么问题?设计模式,design pattern,是一套被反复使用,多数人知晓的,代码设计经验的总结。 设计模式是为了1,提高代码重用性,2,提高代码可扩展性,3,代码更容易被他人所理解,提高代码可读性,保证代码可靠性。代码引入设计模式的目的大概是以上3个目的, 如何实现这3个目的呢,方式就是,千方百计的降低代码耦合度来实现,引入原创 2017-02-25 18:52:52 · 547 阅读 · 2 评论 -
匿名内部类小总结
1,匿名内部类的作用2,匿名内部类的使用格式内部类:表示在一个类的内部还有另外一个类称为内部类。 匿名内部类:如果类在整个操作中只使用一次的话,就可以将其定义为匿名内部类,匿名内部类是在接口以及抽象类的基础上发展起来的。匿名内部类就是,这个类定义在类的内部而且这个类没有名字,同时类中覆写所有的抽象方法。正常情况下,不使用匿名内部类情况:interface A{ public void pr原创 2017-05-03 10:19:53 · 919 阅读 · 0 评论 -
包装类小总结
1,包装类的作用2,包装类的自动装箱,自动拆箱操作3,包装类的转换操作在Java中提倡一种思想:一切 皆对象。但是Java的数据类型划分中分为两种:1,基本数据类型,2引用数据类型,引用数据类型是对象也是基于对象的操作,但是基本数据类型并不是对象,这就与设计初衷有了矛盾。包装类的作用就是解决这个矛盾的。那么问题来了,如何解决这个矛盾呢,如何进行包装呢?实现包装 Java中的8种基本数据类型并不是对原创 2017-05-02 12:11:50 · 464 阅读 · 0 评论 -
Object类小总结
1,object类的作用2,object类的toString(),equals()方法的作用3,使用object接收引用数据类型在Java中一切的类都是以继承的关系存在的,如果一个类在定义时,没有明确的指明继承哪个类,则默认继承Object类,Object类是所有类的公共父类。对象在打印的时候,默认调用toString()方法。class Demo{ // 定义Demo类,实际上就是继承了Objec原创 2017-05-02 11:46:46 · 284 阅读 · 0 评论 -
抽象类和接口的应用----常用设计模式总结
抽象类和接口是Java面向对象中最重要的概念,如果说不懂抽象类和接口,那么对于面向对象的理解就是0分。1,为抽象类和接口实例化在Java中,可以通过对象的多态性为抽象类和接口实例化,这样 在使用抽象类和接口的时候就可以调用子类所覆写过的方法。之所以抽象类和接口不能直接实例化是因为其内部包含了抽象方法, 抽象方法都是未实现的方法,无法直接调用。通过对象多态性可以发现,子类发生了向上转型之后,所调用原创 2017-04-28 17:21:23 · 3215 阅读 · 0 评论 -
面向对象,---继承---特性的理解
面向对象一个非常重要的特性,继承特性,当看到了这个extends,似乎就可以很大程度上确定了,这是oop语言,那么问题来了:1,为什么要有继承?2,继承有哪些限制?3,子类的实例化的具体过程4,方法的覆写5,super关键字的作用-那么首先得知道,什么是继承。然后再说为什么要有继承。没比较就没伤害,先看看不使用继承的代码,然后再和继承的代码比较下,就发现了为什么要有继承了。class Person{原创 2017-03-15 19:02:47 · 506 阅读 · 2 评论 -
内部类
这里讨论4个主要的问题:1,使用内部类的优缺点;2,内部类的使用格式;3,static声明内部类的作用;4,使用内部类访问方法中的参数;那么什么是内部类? 其实就是在一个类的内部,再定义一个类,这个内部所定义的类就是内部类咯; 1,内部类直接调用其外部类的private属性class Outer{ // 定义外部类 private String info = "hello原创 2017-03-14 15:49:40 · 276 阅读 · 0 评论 -
对象数组
Java数据类型,划分中,总的来说划分为2种: 数组是一组相同类型数据的集合。 数组是引用数据类型,类也是数据类型,所以,对象数组,就是引用数据类型种装这多个引用数据类型。 对象数组的使用中要注意,先开辟空间,但是因为是其内部装的是引用数据类型,所以数组里的每个对象都是null值,在使用的时候,数组的中的每一个对象要分别进行实例化。对象数组的声明格式:1,动态声明:类名称 数组名称[]=n原创 2017-03-14 11:19:15 · 869 阅读 · 0 评论 -
final关键字
final表示终结的意思,1:final声明的类,表示太监类,不能被继承,也就是说不能有子类,继承了,编译时候就会报错;final class A{ // 使用final定义类,不能有子类};class B extends A{ // 错误,不能被继承};2:final声明的方法,表示太监方法,不能被子类继承,不能被子类覆写,覆写了,编译时候就会报错;class A{ public原创 2017-03-23 11:43:12 · 317 阅读 · 0 评论