![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 56
胖阿全
这个作者很懒,什么都没留下…
展开
-
三种Statement类
1、PreparedStatementpublic interface PreparedStatement extends Statement{}//基本用法PreparedStatement提供的功能:1、允许sql语句中使用?占位符,表示参数。2、支持预编译功能。3、在一定程序上可以避免sql注入漏洞。2.Connection接口Statement createStatement() 创建用于执行SQL语句的Statement对象PreparedStatement prepare原创 2021-03-13 23:13:09 · 3007 阅读 · 0 评论 -
MySQL数据库
@Overridepublic String toString() { String str=null; String str1 =null; String str2 =count+""; switch (clor){ case hongtao: str1=“♥”; break; case meihua: str1=“原创 2021-03-08 22:10:16 · 56 阅读 · 0 评论 -
数据库技术
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。原创 2021-03-06 23:46:58 · 482 阅读 · 0 评论 -
Map接口
猜数字public class Caishu { private Integer v = 0; public Caishu() { Random r = new Random(); v=r.nextInt(1000); } public String guess(Integer parameter1) { String res = "小了"; if(parameter1!=null) { /* if(v.intValue()>parameter1.intValue原创 2021-02-28 23:41:03 · 103 阅读 · 0 评论 -
数据结构(2)
JAVA程序冒泡排序public class Maopao { public static void main(String[] args) { int[] arr = new int[10]; generateNumber(arr); for(int temp:arr) System.out.print(temp+"\t"); System.out.println(); bubble(arr); for(int temp:arr) System.out.pri原创 2021-02-27 23:48:48 · 62 阅读 · 0 评论 -
线程状态切换
搭建IDE环境常见的IDE有官方推荐的Android Studio和Eclipse+ADT。ADT开发方式google已经宣布不再更新先下载对应的Android SDK后再安装IDE,其中下载SDK的步骤不是必须的。也可以先安装Android Studio,然后通过Android Studio自动下载SDKSDK开发环境使用预编译的内核和文件系统,屏蔽了Android软件架构第三层以下的内容,可以者主要基于Android的系统API进行应用层的开发。如果需要开发底层的内容,则可以使用NDKJDK1.7+,原创 2021-02-18 22:30:03 · 118 阅读 · 0 评论 -
volatile关键字
hello AndroidAndroid应用属于应用层,构建在Android系统所提供的API之上。每个Android平台对应支持一个API级别,会隐含对所有早期API的支持用户开发的应用和Android内置的应用层属于同一个层次,调用API的方式相同,只是是否被包含在默认的Android系统创建项目注意事项:1、工程名中不能含有特殊符号,例如中文和空格。2、变量、方法、类名称不要取中文名称。3、应用的包名称事先需要考虑好,因为android系统是通过包名称来区分不同的应用的,所以包名称必须具备唯一性原创 2021-02-16 22:14:37 · 106 阅读 · 0 评论 -
Executors创建线程池
搭建IDE环境常见的IDE有官方推荐的Android Studio和Eclipse+ADT。ADT开发方式google已经宣布不再更新先下载对应的Android SDK后再安装IDE,其中下载SDK的步骤不是必须的。也可以先安装Android Studio,然后通过Android Studio自动下载SDKSDK开发环境使用预编译的内核和文件系统,屏蔽了Android软件架构第三层以下的内容,可以者主要基于Android的系统API进行应用层的开发。如果需要开发底层的内容,则可以使用NDKJDK1.7+,原创 2021-02-13 22:23:36 · 122 阅读 · 0 评论 -
ThreadPoolExecutor
Android应用内容Android应用一般采用Java编写,通过打包工具将应用和所需的数据资源打包成一个apk的应用资源包文件,可以使用工具将其安装在移动设备上。在Android系统中每个apk文件都可以看做一个具体应用基本设计规则:默认每个应用都运行在自己的Linux进程空间中,当前系统资源不足时,系统会自动终止该进程每个进程都有自己的虚拟机,应用之间相互隔离每个应用都分配一个唯一的Linux用户ID,拥有相同ID的应用运行在相同的Linux进程中,共享一个虚拟机ActivityActivity提供给原创 2021-02-10 21:22:50 · 74 阅读 · 0 评论 -
多线程编程细节
Android概述Android是google开发的基于的linux内核的、开源的、智能移动设备上的操作系统平台,Android包括操作系统、中间件和应用程序,由于开源所以可以被移植到不同的硬件平台上是由Andy Rubin创立的手机操作系统,目标在于建立一个标准化的免费的移动电话软件平台 是由Google和OHA开放手机联盟共同开发和维护的 是通过Java虚拟机(优化,不是严格意义上的JVM)来执行,并且需要占用大量的内存来换取执行速度,再加上不定期的内存自动回收机制目前占全球智能手机操作系统原创 2021-02-09 21:08:54 · 101 阅读 · 0 评论 -
线程组
Path和Paths以及FilesPath接口代表一个平台无关的平台路径。Files提供工具方法操作文件。Paths提供创建Path的静态工厂方法。1.path相关方法Path path=Paths.get(“c:”,“ddd”,“eee”); //对应c:\dddd\eee路径Path path=Paths.get("."); //获取当前路径对象path.toAbsolutePath()//获取path对应的绝对路径path.toAbsolutePath().getRoot()//获取p原创 2021-02-08 18:57:16 · 106 阅读 · 0 评论 -
线程池
类和类之间的耦合问题OOP要求类内高内聚、类间弱耦合—客户需求变动如何实现类和类之间松耦合---使用抽象不用具体publicclassA{privateBubbleSorterbs;//PigSorter}原创 2021-02-07 23:13:02 · 107 阅读 · 0 评论 -
线程的编程4种实现方法(下)
接口中只能定义常量和抽象方法接口中只能定义公共的常量,接口中的属性默认是publicstaticfinal类型的,必须是publicstaticfinal类型的nterfaceIA{Stringname="aaa";//这里实际上是常量定义,不是属性,它的限定词是publicstaticfinal Stringname="aaa",必须在声明的同时进行赋值}在接口中不能定义静态块static{}接口中不能定义构造器接口中只能定义公共的抽象方法,只有在JDK1.8+中可以使用defaul原创 2021-02-06 22:25:56 · 271 阅读 · 0 评论 -
线程的编程4种实现方法(上)
如何使用接口一般使用接口隔离具体实现,可以将类之间的相互依赖变为类对接口的依赖。例如出差类和会飞的东西是通过会飞的接口进行隔离,这样不管出差类需要修改或者会飞的东西需要修改,都不会相互影响如果一组相关的类中有公共的方法和特殊的方法,可以使用抽象类,在抽象类中固化公共的方法,而无需具体子类重复实现;但是在抽象类中无法实现的方法可以延迟到子类中再实现。例如排序器BubbleSorter,其中抽象类BubbleSorter固化了所使用的冒泡排序算法,而将无法实现的bigger比较算法延迟到BubbleS原创 2021-02-05 22:40:21 · 132 阅读 · 0 评论 -
线程简介
局部内部类可以将内部类定义在一个方法或者一个代码块内publicclassA1{privateintage=123;publicstaticvoidmain(String[]args){A1aa=newA1();}publicvoidpp(){Datebirth=newDate();//B1bb=newB1();语法错误,要求局部内部类必须先定义后使用classB1{//局部内部类,只能在所在的{}范围中使用,具备内部类的范围限定词和临时变量一致,只能添加final或者abstract原创 2021-02-04 22:20:26 · 334 阅读 · 0 评论 -
进程和线程的关系
枚举类一个类,如何限制只可以实例化两个对像,具体应用:如用于表示性别的类。publicenumSexOption{//这是允许取的值,没有在这个列表中则不允许取值如何使用SexOptions1=SexOption.女;System.out.println(s1.name());//获取枚举实例的名称:女System.out.println(s1.ordinal();//获取枚举实例的索引号:1//遍历所有的枚举实例SexOption[]arr=SexOption.values();for(i原创 2021-02-03 22:14:32 · 544 阅读 · 0 评论 -
JDK1.8引入Lambda表达式
Lambda表达式1.什么是lambda表达式lambda表达式,也可称为闭包Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(函数式接口)的实例,必须是函数式接口类型使用Lambda表达式可以使代码变的更加简洁紧凑,简化创建匿名内部类对象优点简洁非常容易并行计算可能代表未来的编程趋势结合hashmap的computeIfAbsent方法,递归运算非常快。java有针对递归的专门优化。缺点若不用并原创 2021-02-02 22:27:30 · 160 阅读 · 2 评论 -
JAVA小程序
计算某一分数序列前二十项之和有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。publicclassTest06{publicstaticvoidmain(String[]args){{doubleres=0;for(inti=1;i<=20;i++){res+=1.*diguiFenzi(i)/diguiFenmu(i);}System.out.println(res);}publicstaticintdiguiFenzi(intn原创 2021-02-01 21:50:10 · 104 阅读 · 0 评论 -
进程
汉诺塔问题梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。移动次数是f(n).显然f(1)=1,f(2)=3,f(3)=7,且f(k+1)=2*f(k)+1public class Han{publicstaticvoidmain(String[]args){System.out.println(move(3));}原创 2021-01-31 23:31:31 · 292 阅读 · 0 评论 -
扩展类的功能
扩展类的功能1.继承(1)需要追加功能的类实现publicinterfaceIShape{voiddraw();pulicclassCircleimplementsIShape{@Overridepublicvoiddraw(){System.out.println("here is a circle");(2)通过继承添加子类用于追加功能publicclassCircleExtendsextendsCircle{@Overridepublicvoiddraw(){Syst原创 2021-01-24 22:00:09 · 398 阅读 · 0 评论 -
Java中的异常处理(上)
JAVA中的异常处理1.意外产生的处理过程概述运行时有许多因素引起出错,硬件失败,除法溢出,数组下标越界。出错的位置都在方法Method里出错后方法生成一个Exception对象,并把它交给JVM。这个对象里包括许多信息:错误类型,错误位置。JVM负责处理Exception对象这种生成Exception对象并交给系统的过程叫抛出意外throwing an exception一个方法抛出意外后,JVM就试图在“调用栈”里找能处理这个类型Exception对象的方法。找到就执行,找不到程序中止。原创 2021-01-20 23:37:11 · 92 阅读 · 0 评论 -
Java中的单例模式和模板模式
JAVA中的单例模式和模板模式1.单例模式a.意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。b.主要解决:一个全局使用的类频繁地创建与销毁。c.何时使用:当您想控制实例数目,节省系统资源的时候。单例模式有多种写法,最常见的是懒汉模式和饿汉模式(1)饿汉单例模式优点:没有加锁,执行效率会提高缺点:类加载时就初始化,浪费内存编程实现:私有构造器静态的私有属性公共的静态方法(2)懒汉单例模式懒汉式:主要是针对饿汉式中不管是否需要使用对象都先创建对象所引起的内存浪费优点:原创 2021-01-18 22:22:02 · 271 阅读 · 4 评论 -
Java面向对象概述
JAVA面向对象概述1.面向对象的三大基本特征面向对象的三大基本特征是:封装、继承、多态封装:隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据继承:为了重用父类代码,同时为实现多态性作准备多态性:发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。2.面向过程与面向对象的对比面向过程是一种自上而下的程序设计方法,主要思路专注于算法的实现。(1)过程式的特征是以函数为中心,用函数作为划分程序的基本单原创 2021-01-17 16:36:14 · 319 阅读 · 0 评论 -
Java中break,continue,return的用法
JAVA中break,continue,return的用法1.break用于中断break所在的循环,执行后续语句2.continue用于中断本次循环,进入下一次循环,不会执行本次循环中continue之后的语句3.加上标识符aa:中断循环,返回aa处4.return用于中断方法的执行,立即返回调用处,不会执行当前方法中后续的所有操作。break中断public class Test {public static void main(String[] args) {for(int i=1;i原创 2021-01-16 23:47:48 · 363 阅读 · 0 评论 -
关于Java中的继承
关于继承继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。语法:pubilc class A extends B(){}A类继承B类。继承是is-a的相互关系下面定义学生类Student继承Person类继承的前提是,每个学生都是人,但不是每个人都是学生。public c原创 2021-01-15 23:50:57 · 61 阅读 · 0 评论 -
StringBuffer和StringBuilder类
StringBuffer和StringBuilder类String类型的变量进行修改操作时一定会引发对象的新建,在java中所有的复杂类型变量中都会有一个方法hashCode():int,这个值是一个和变量存储位置相关的数据对象的创建和销毁,是需要时间代价的,使用StringBuffer和StringBuilder类的前提是频繁的修改操作。和String类不同的是 ,StringBuffer和StringBuilder类的对象能够被多次的修改,且不产生新的未使用的对象。StringBuilder类在J原创 2021-01-14 23:20:01 · 81 阅读 · 0 评论 -
面向对象相关介绍
面向对象相关介绍面向对象的三大特征:封装、继承、多态面向对象是一种自下而上的程序设计方法,以数据为中心,类是表现数据的单位。对象是要进行研究的任何事物。对象的两个要素是属性和方法。封装的范围限定词:private 私有的protected 受保护的默认public 公共的记忆方法如下:构造函数:一种特殊的方法,主要用于在创建对象时初始化对象,为对象成员变量赋初始值。使用语法new 构造函数();可创建对象。public class Test1{//方法名称和类名称一致原创 2021-01-12 23:34:42 · 174 阅读 · 0 评论 -
冒泡排序实现随机数组的从小到大排序
冒泡排序实现随机数列的从小到大排序冒泡排序是一种简单的排序算法。它重复地进行相邻数据的比较,一次比较两个元素,如果它们的顺序错误就把它们交换过来。每趟排序,排出一个最大元素放在末尾,重复地进行这项操作,直到没有元素需要交换,也就是说该数列已经排序完成。具体代码实现如下:...原创 2021-01-11 23:30:43 · 984 阅读 · 0 评论 -
递归计算10的阶乘
递归计算10的阶乘递归调用是方法再执行的过程中直接或间接调用方法本身的调用。首先,main方法中定义int型变量i,调用递归方法;然后输出i的值,即为所求值。其次,定义阶乘的递归方法jiecheng(int k),返回参数k与方法jiecheng(k-1)的乘积。具体代码实现如下:输出结果为:10的阶乘是:3628800...原创 2021-01-10 22:01:47 · 4119 阅读 · 0 评论