自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Java学习 JDBC

访问mysql数据库进行学习。1. 为项目导入mysql-jdbc的jar包

2021-12-13 14:35:48 235

原创 Java项目开发流程

1. 需求分析 将需求拆分成三类,前端展示类需求、交互类需求和后台功能类需求。 前端展示类需求指页面上展示出来的需求,不需要和服务端交互的。 交互类需求指通过POST、GET等http协议,与服务端进行同步或异步数据交互的需求。 后台功能类需求指支撑后台运行的数据管理。2. 表结构设计 主要包括建表、主键和索引设置、表与表的关系、表与页面的关系。3. 代码构建...

2021-12-01 17:32:54 692

原创 MySQL 查看数据库和表空间大小及碎片处理

1. 查看所有数据库空间大小 SELECT table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' FROM information_schema.tablesGROUP BY table_schemaORDER BY

2021-11-05 18:00:43 2588

原创 Java框架 Sping AOP配置

AOP即 Aspect Oriental Program 面向切面编程。在面向切面编程的思想里面,把功能分为核心业务功能和辅助功能。所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务。所谓的辅助功能,比如性能统计,日志,事务管理等等。辅助功能在Spring的面向切面编程AOP思想里,即被定义为切面功能。在面向切面编程AOP的思想里面,核心业务功能和切面功能分别独立进行开发,然后把切面功能和核心业务功能"编织"在一起,这就叫AOP。一、XML方式配置AOP二、注解方式配置AOP...

2021-10-12 15:18:40 91

原创 Java框架 Spring IOC和DI

Spring是一个基于IOC和AOP的Java框架。IOC,Inversion Of Control,反转控制,是Spring的基础。简单说就是创建对象由以前的自己new构造方法来调用,变成了交由Spring创建对象。DI,Dependency Inject,依赖注入。简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。Spring的作用:一是可以在提前的声明一些类,然后如果在编程中用到这些类的对象,就可以直接通过相应的方式直接拿到该类的对象,而不用自己去new,这样做可以让Spr

2021-10-11 18:37:47 125

转载 Java Spring之AOP在XML中的配置方法

AOP在XML中的配置方法<aop:config> <aop:pointcut id="loggerCutpoint" expression = "execution(* com.how2java.service.ProductService.*(..)) "/> <aop:aspect id="logAspect" ref="loggerAspect"> &

2021-09-29 15:08:47 204

原创 Java 代码发版

一、Maven项目打jar包1. 在项目目录下按住shift+鼠标右键,点击【在此处打开命令窗口】,进入如图所示画面。或者cmd进入到目录下;2.找到项目中的Application.java文件,复制mvn clean *** 代码并粘贴到项目目录下,回车;3. 刷新target文件夹,得到jar包。二、jar包上次服务器1. 打开Xftp,连接对应服务器;2. 进入jar包所在目录;3. 上传target里新的jar包到该目录下,覆盖掉原jar包。这里最好先把原来的..

2021-07-26 16:54:05 1271

原创 Java学习 线程池

待补充

2021-03-17 15:43:40 72

原创 Java学习 线程同步

通过关键字synchronized或使用lock对象都可以达到线程同步的效果。一、关键字synchronizedsynchronized可以修饰对象、方法、类。1. synchronized修饰对象时,表示当前线程独占对象,这时如果有其它线程试图占用该对象时,就会等待,直到当前线程释放对该对象的占用。释放同步对象的方式:synchronized 块自然结束,或者有异常抛出。2. synchronized修饰对象方法时,同步对象是当前实例,也就是this。修饰类方法即静态方法时,同步对象就

2021-03-14 21:14:37 57

转载 Java学习 一个线程的生命周期

线程是一个动态执行的过程,它也有一个从产生到死亡的过程。下图显示了一个线程完整的生命周期。新建状态: 使用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序start()这个线程。 就绪状态: 当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。 运行状态: 如果就绪状态的线程获取 CPU 资源,就可以执行run(),此时线程便处于运行状态。...

2021-03-14 21:07:39 59

原创 Java学习 多线程中start方法和run方法的区别

本文参考https://www.cnblogs.com/dolphin0520/p/3913517.html并做了一点改进。文中根据输出结果可以得出以下结论:  1)thread1和thread2的线程ID不同,thread2和主线程ID相同,说明通过run方法调用并不会创建新的线程,而是在主线程中直接运行run方法,跟普通的方法调用没有任何区别;  2)虽然thread1的start方法调用在thread2的run方法前面调用,但是先输出的是thread2的run方法调用的相关信息,说明新线.

2021-03-08 17:46:30 140

原创 Java学习 多线程的创建及常用方法

二、常用方法1.当前线程暂停Thread.sleep(1000); 表示当前线程暂停1000毫秒 ,其他线程不受影响Thread.sleep(1000); 会抛出InterruptedException 中断异常,因为当前线程sleep的时候,有可能被停止,这时就会抛出 InterruptedException2.加入到当前线程中t1.join(); t1线程加入到main线程中来,只有t1线程运行结束,才会继续往下走3. 线程优先级t1.setPriority(Threa...

2021-03-08 15:21:27 125 1

原创 Java学习 LinkedList

一、简介1. LinkedList类是双向链表,链表中的每个节点都包含了对前一个和后一个元素的引用。实现了Deque(双端队列),Queue(队列)和Stack(栈)。2. LinkedList的操作不是线程安全的,建议在单线程环境下使用。3. 双向链表添加元素只是新增一个节点,延长链表,所以LinkedList不存在容量不足的问题。4. 常用方法同ArrayList。5.序列分先进先出FIFO,先进后出FILO。FIFO在Java中又叫Queue(队列),FILO在Java中又叫St.

2021-03-05 14:52:46 186 3

原创 Java学习 ArrayList

一、如果要存放多个对象,可以使用数组,但是数组有局限性。比如声明长度是10的数组,不用的数组就浪费了,超过10的个数,又放不下。为了解决数组的局限性,引入容器类的概念。 最常见的容器类就是ArrayList。容器的容量"capacity"会随着对象的增加,自动增长只需要不断往容器里增加英雄即可,不用担心会出现数组的边界问题。...

2021-03-04 18:19:29 103 2

原创 Java学习 泛型

不指定泛型的容器,可以存放任何类型的元素,指定了泛型的容器,只能存放指定类型的元素以及其子类。为了不使编译器出现警告,需要前后都使用泛型,像这样:List<Hero> genericheros = new ArrayList<Hero>();不过JDK7提供了一个可以略微减少代码量的泛型简写方式,List<Hero> genericheros2 = new ArrayList<>(); 后面的泛型可以用<>来代替,聊胜于无吧...

2021-03-04 17:53:41 85 1

原创 Java学习 文件对象

一、文件创建及常用方法1.可以分别用绝对路径和相对路径来创建文件对象,如下代码所示。2. 第2行只是创建了一个文件对象,并没有创建文件,创建文件需用第10行、12行或13行。3. f.delete()方法立即删除,由于f.deleteOnExit()方法在JVM结束的时候才执行,所以第19行执行结果依然是true。public static void main(String[] args) throws IOException { File f = new File("D:\\test.

2021-02-26 20:11:08 372 1

原创 Java学习 日期类

一、Date类Date 类提供两个构造方法来实例化 Date 对象,分别是Date()方法和Date(long l)方法。getTime() 方法得到一个long型的整数,该整数代表从1970.1.1 08:00:00:000开始,每经历一毫秒,增加1。System.currentTimeMillis()方法获取当前系统时间的毫秒数。二、SimpleDateFormat类SimpleDateFormat类用于日期格式化。三、Calendar类import java.text..

2021-02-25 12:24:29 119 2

原创 生成随机数

一、Random类的nextInt()方法用Random类的nextInt()方法生成随机数,import java.util.Random;1、不带参数的nextInt()会生成所有有效的整数(包含正数,负数,0);2、带参的nextInt(int x)则会生成一个范围在0~x(不包含x)的任意正整数。二、Math.random()方法random() 方法用于返回一个double类型的随机数,随机数范围为 [0.0, 1.0),左闭右开。三、生成一个任意长度的随机字符串,随机字符

2021-02-25 00:03:04 1086 3

原创 选择法排序和冒泡法排序

一、思路1. 选择法排序 1. 把第一位和其他所有位比较,只要比第一位小的,就换到第一个位置来,比较数组长度-1次后,第一位就是最小的 2. 再从第二位和剩余的其他所有位进行比较,只要比第二位小,就换到第二个位置来,比较完后,第二位就是第二小的 3. 以此类推 选择法排序 ...

2021-02-23 11:00:22 8191 3

原创 StringBuffer和StringBuilder

StringBuffer和StringBuilder都是可变字符串类型。StringBuffer是线程安全的,而StringBuilder是非线程安全的;StringBuffer效率要比StringBuilder低。

2015-10-07 10:45:12 194

原创 Java字符串详解

字符串的创建、拆分与比较

2015-10-06 15:48:52 199

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除