自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ListView Item实现滑动效果

ListView item实现滑动效果

2021-09-08 16:26:47 268

原创 Apk反编译

Apk反编译实践

2021-09-06 14:08:53 108

原创 serialVersionUID 的说明

实现 java.io.Serializable 这个接口是为了 序列化,seriaVersionUID 用来表明实现序列化类的 不同版本间的 兼容性。如果修改了此类,要修改此值,否则采用以前用老版本的类 序列化的类 恢复时 会出错。serialVersionUID 的 作用:序列化时,为了保持版本的兼容性,即在版本升级时,反序列化,扔保持对象的唯一性可以随便写一个,在 Eclipse中,它替你生成一个,有两种生成方式:一个是默认的 1L,比如:private static final long s

2021-03-01 10:23:01 600

原创 Java项目软件安装教程

Mysql

2020-11-06 13:41:25 218

原创 MyBayis笔记

文章目录1 什么是 MyBatis2 安装3 从 XML 中 构建 SqlSessionFactory4 不使用 XML 构建 SqlSessionFactory5 从 SqlSessionFactory 中 获取 SqlSession6 探究已映射的 SQL语句7 作用域(Scope) 和生命周期1 什么是 MyBatisMyBatis 是一款优秀的 持久层框架,它支持 自定义 SQL,存储过程以及 高级映射。MyBatis免除了几乎所有的 JDBC代码以及设置参数和获取结果集 的 工作。MyBati

2020-09-09 16:11:57 221

原创 SpringBoot 笔记2

文章目录1 SpringBoot 介绍1 SpringBoot 介绍使用 SpringBoot 很容易创建一个,独立运行(运行 jar, 内嵌 Servlet容器),准生产级别的,基于 Spring框架的项目,使用 SpringBoot,可以不用或者只需很少的 Spring配置‘习惯优于配置’ — 项目中存在大量的配置,此外,还内置一个习惯性的配置,让你无须手动进行配置SpringBoot 核心功能1)独立运行的 Spring项目Spring Boot 可以以 jar 包的形式独立运行,运行

2020-09-07 16:33:06 144

原创 SpringBoot 笔记

文章目录1 微服务(Microservice) 是什么?为什么会出现微服务?2 微服务的有点3 Spring IoC5 Spring JavaConfig 和 常见 Annotation5.1 高曝光率的 Annotation1 微服务(Microservice) 是什么?为什么会出现微服务?SOA — Service-Oriented Architecture以前的服务实现和实施思路是:将很多功能,从开发到交付,都打包成一个很大的服务单元(一般称为 Monolith),而微服务的实现和实施思路则 更

2020-09-07 12:00:22 170

原创 Java项目框架

SpringBoot + iBatis

2020-08-20 10:05:32 164

原创 php工作流代码笔记

文章目录1 archive 档案只要把如何从数据库取数据这个流程看懂就行1 archive 档案

2020-08-19 14:53:42 184

原创 phpStrom安装

1 phpStrom软件2 phpStrom配置

2020-08-19 13:57:32 156

原创 Php MySql 2

文章目录1 读取数据2 Where 子句3 Order By 关键字4 Update5 Delete6 [ODBC](https://www.runoob.com/php/php-db-odbc.html)1 读取数据SELECT 语句,用于从 数据表中 读取数据SELECT column_name(s) FROM table_name我们可以使用 * 号 来读取所有数据表中的字段SELECT * FROM table_name$sql = "SELECT id, firstname,last

2020-08-18 17:28:48 159

原创 Php MySql

文章目录1 连接 Mysql2 创建数据库3 创建 MySQL 表4 MySQL 插入数据5 插入多条数据6 预处理语句1 连接 Mysql$conn = new mysqli($servername,$username,$password);$conn = mysqli_connect($servername,$username,$password);关闭连接$conn->close();mysqli_close($conn);测试 PHP 的 MySql 数据库的连接使用函数

2020-08-18 16:24:27 123

原创 PHP 7 新特性

PHP 7 新特性

2020-08-17 16:16:51 119

原创 PHP JSON

PHP JSON1 json_encode语法 string json_encode($value[,$options = 0 ] )注意 JSON_UNESCAPED_UNICODE 选项,如果我们不希望中文被编码,可以添加该选项2 json_decode语法:mixed json_decode ($json_string[,$assoc=false[,$depth=512[, $options=0]]])参数:json_string:待解码的 JSON 字符串,必须是 UTF-8 编

2020-08-17 16:15:26 94

原创 Php高级编程

文章目录1 date() 函数2 include 和 require 语句3 文件处理4 文件上传1 date() 函数2 include 和 require 语句include 和 require 除了 处理错误的方式不同外,在其他方面都是相同的:require 生成一个 致命错误(E_COMPLIE_ERROR),在错误发生后,脚本会停止执行include 生成一个警告(E_WARNING),在错误发生后,脚本会继续执行require 一般放在 PHP文件的 最前面,程序在执行前就会先导入

2020-08-17 14:10:07 237

原创 php表单

文章目录$_GET,$_POST 和 REQUEST‘_REQUEST`R​EQUEST‘_GET变量,接受所有以 get方式发送的请求,及浏览器地址栏中的 ? 之后的内容POST‘变量,接受所有以post方式发送的请求,例如:一个form以method=post提交,提交后php会处理post过来的全部变量‘_POST` 变量,接受所有以 post方式发送的请求,例如:一个 form 以 method=post 提交,提交后 php会处理 post过来的全部变量`P​OST‘变量,接受所有以pos

2020-08-14 17:31:26 133

原创 Php 测验总结

当使用 POST 方法时,变量不会显示在 URL 中,只有 GET 才会函数内 引用全局变量,必须使用 global 关键字<?php$a = 1;function Test(){ echo "a=$a";}Test();?>// 输出结果 没有值,原因见上所说php中,不区分大小写的关键字 NULL 用于 没有定义值的 情况声明常量,使用关键字 definedefine(PI,3.14);printf("PI = %.2f\n",PI);数组下标问.

2020-08-14 15:42:35 374

原创 php foreach()函数

foreach普通用法自定义 foreach 遍历对象foreach 有两种语法foreach(array_expression as $value) statementforeach(array_expression as $key => $value) statement在 $value 之前加上 & 来修饰修改的元素。此方法将 以引用赋值,而不是拷贝一个值<?php$arr = array(1,2,3,4);foreach($arr as &$val

2020-08-13 14:07:31 180

原创 php实用函数

unset()函数 允许删除数组中的某个键,数组将不会重建索引,如果需要删除后,重建索引,可以用 array_values()函数

2020-08-13 13:53:05 134

原创 php数组

php数组,包括了 Java中的 数组,集合,即可以是单独的 value,也可以定义为 key, value 的形式。key可以是:整数( integer) / 字符串(string)value可以是:任意类型的值数组的 key, value 可以加 " ",也可以不加数组的 key,如果不是 整数,或者没有制定下标,那么就是从0开始的,如果 key是用整数表示的,那么$array[key],就是代表 $array[key] 所对应的 value值可以全部指定键名,也可以部分指定键名,如果 键

2020-08-13 13:50:40 134

原创 php小知识点

定义函数 前面加上 function function myTest() { }PHP_EOL 换行符 echo PHP_EOL

2020-08-12 14:25:42 338

原创 Php基本语法

文章目录1 基本用法1.1 PHP脚本以 **`<?php`** 开始,以 **`?>`** 结束:1.2 以 分号 ; 结束1.3 两种输出指令 echo print1.4 注释 // /* ... */PHP : Hypertext Preprocessor 超文本预处理器1 基本用法1.1 PHP脚本以 <?php 开始,以 ?> 结束:<?php// PHP代码?>1.2 以 分号 ; 结束1.3 两种输出指令 echo pr

2020-08-12 13:49:28 298

原创 Java网络编程

socket编程

2020-08-03 16:28:49 111

原创 Java IO流 资料集

File类问题集合1 创建新文件 可不可以不加 createNewFile();Java创建新文件方法:public boolean createNewFile() throws IOExceptionFile file = new File(“E:”+File.separator+“1.txt”);boolean b = false;b = file.createNewFile();不调用 createNewFile()方法 可以调用 new java.io.FileInputSt

2020-07-29 10:15:27 141

原创 Java 集合

参考资料1参考资料2

2020-07-21 16:01:18 112

原创 Java中 for循环的几种使用方法

文章目录1 常用的几种方法1.1 for(; ;)1.2 Collection for( Iterator i=kindsList.iterator(); i.hasNext();)1.3 for( : )2 防止在循环体里修改循环变量2.1 禁止重新赋值2.2 允许修改状态3 类型相容问题3.1 使用和 要被遍历的数组 中的元素 相同类型的 循环变量3.2 使用和 要被遍历的Collection 中的元素 相同类型的循环变量4 循环变量的类型 可以是要被遍历的对象中的元素的 上级类型4.1 使用要被

2020-07-15 16:59:35 1612

转载 return 0和return 1和return -1的区别

文章目录1 返回值 int类型 的函数返回2 布尔类型返回转载1 返回值 int类型 的函数返回return语句用来结束循环,或返回一个函数的值return 0:一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数return -1::表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例,表示该函数失败以上两个是约定俗成,系统提供的函数绝大部分定义为 int类型 返回值 的 都是这样的。返回值是返回给系统用的,给系统看得。一般做 调试 的时候也会用的,当出现错误的时候

2020-07-15 13:53:49 2916

原创 折半查找(二分查找)

文章目录1 原理2 实现2.1 原理代码实现2.2 具体应用2.3 扩展1 原理适用于 经常查找的,但是 不变的(增删)的 有序列表算法思想:有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功优缺点:优点:比较次数少,查找速度快,平均性能好缺点:要求待查表为有序表,且插入删除困难折半查找方法适用于不经常变动而查找频繁的有序列表原理图:2 实现2.1 原理代码实现// 折半查找 (二分查找)public class Bi

2020-07-15 11:30:43 831

原创 数组的应用

文章目录1 排序算法2 冒泡排序3 折半查找(二分查找)1 排序算法实现数组选择排序原理:确定擂主确定对手步骤:第一轮:擂主为arr[0],后面的人都是对手,和擂主挑战;一轮获胜者就是第一小数第二轮:擂主为arr[1],后面的人都是对手,和擂主挑战;二轮的获胜者就是第二小数实现:/*选择排序的关键:1 确定擂主2 确定对手 */public class ChooseSortArray { static int[] arr = new int[] {1,2,1

2020-07-14 17:30:55 326

原创 Java数组

文章目录1 数组的定义2 一维数组3 二维数组4 数组的引用传递5 实例使用1 数组的定义同一种类型 数据的集合。其实数组就是一个 容器 。优点:可以自动给数组中的元素从0开始编号,方便操作这些元素2 一维数组定义格式:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];int[] arr = new int[5];元素类型[] 数组名 = new 元素类型[] {元素,元素,…};int[] arr = new int[] {3,5,1,7}; /

2020-07-14 17:21:51 111

原创 线程间协作的两种方式

文章目录1 wait(),notify(),notifyAll2 Condition3 生产者-消费者模型的实现3.1 使用Object的wait()和notify()实现3.2 使用 Condition 实现参考资料线程间互相通信的过程,就是线程间的协作Java中,线程协作的两种常见方式:Object.wait(),Object.notify()Condition1 wait(),notify(),notifyAllwait(),notify(),notifyAll() 是 Object

2020-07-13 17:12:44 382

原创 Timer和TimerTask

文章目录1 概述2 Timer 的 常见方法3 Timer() 的 构造方法4 示例参考文章1 概述Timer 就是一个调度器,TimerTask 是一个实现了 run() 方法 的 一个类,具体的 TimerTask 需要自己来实现Timer timer = new Timer();timer.schedule(new TimerTask() { public void run() { System.out.println("abc"); }},20000,

2020-07-13 15:21:32 257 1

原创 Callable,Future,FutureTask

文章目录1 Callable 与 Runnable2 Future3 FutureTask4 使用示例4.1 使用 Callable+Future 获取执行结果4.2 使用 Callable+FutureTask 获取执行结果创建线程的两种方式:直接 继承 Thread实现 Runnable 接口这两种方式都有一个缺陷:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。1 Callable 与 Runnable

2020-07-10 17:21:31 114

原创 CountDownLatch,CyclicBarrier,Semaphor

文章目录1 概述2 CountDownLatch 用法3 CyclicBarrier 用法3.1 常规用法3.2 在所有线程写入操作完之后,进行额外的其他操作3.3 为 await() 指定时间的效果1 概述CountDownLatch 和 CyclicBarrier 都能够 实现线程之间的等待 ,只不过它们侧重点不同CountDownLatch 一般用于 某个线程 A等待若干个其他线程执行完任务之后,它才执行CyclicBarrier 一般用于 一组线程 互相等待至某个状态,然后这一组线程

2020-07-10 16:10:26 99

原创 Java并发编程:阻塞队列

文章目录1 几种主要的阻塞队列2 阻塞与非阻塞队列中的方法3 阻塞队列的实现原理4 示例和应用场景参考文章非阻塞队列,如 PriorityQueue,LinkedList (双向链表,实现了 Dequeue接口),使用的时候有一个很大的问题:它不会对当前线程产生阻塞,那么在面对 消费者-生产者模型 时,就必须额外的 实现同步策略 以及 线程间唤醒策略。这个实现起来非常麻烦。阻塞队列会对当前线程产生阻塞,比如一个线程从一个 空的阻塞队列中取元素,此时线程会 被阻塞 直到阻塞队列中有了元素。当队列中有元素

2020-07-09 17:08:17 108

原创 Java并发容器

Java并发容器ConcurrentHashMapCopyOnWrtiteArrayList

2020-07-09 15:50:41 115

原创 Java ConcurrentModificationException异常原因和解决方法

文章目录1 ConcurrentModificationException异常 出现的原因2 在单线程环境下的解决办法参考资料1 ConcurrentModificationException异常 出现的原因public class Test { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add

2020-07-09 12:16:55 263

原创 Java并发编程:同步容器

文章目录1 为什么会出现同步容器2 Java中的 同步类容器3 同步容器的缺陷3.1 性能问题3.2 同步容器安全性问题3.3 ConcurrentModificationException异常参考资料为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。下面来讨论一下同步容器1 为什么会出现同步容器在 Java的 集合容器框架 中,主要有 4大类别:List, Set, Queue

2020-07-09 11:44:54 141

原创 ThreadLocal

文章目录1 ThreadLocal 的 理解参考资料1 ThreadLocal 的 理解ThreadLocal 线程本地变量,线程本地存储。ThreadLocal 为变量在每个线程中都创建了一个副本,那么每个线程都可以访问自己内部的副本变量...

2020-07-08 12:09:10 93

原创 Lock锁的方法使用

文章目录1 Lock1.1 lock() 方法1.2 tryLock()方法与 tryLock(long time, TimeUnit unit)方法1.3 lockInterruptibly() 方法2 ReentrantLock2.1 lock() 的 正确使用方法2.2 tryLock()的使用方法2.3 lockInterruptibly() 响应中断的使用方法3 ReadWriteLock4 ReentrantReadWriteLock1 Lock通过查看 Lock 的源码可知

2020-07-06 17:32:00 2909

空空如也

空空如也

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

TA关注的人

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