![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 92
samuelnotes
开心生活,快乐学习
展开
-
mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
转载from https://www.cnblogs.com/nxmxl/p/11831166.html在这里记录这个主要是备忘。MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0 连接池则以为该被断开的连接依然有效。在这种情况下,如果客户端代码向 c3p0 连接池请求连接的话,连接池就会把已经失效的连接返回给客户端,客户端在使用该失效连接的时候即抛出异常解决这个问题的办法有三种:1. 增加 MySQL 的 wait_timeout 属性的值。修改转载 2021-10-21 11:26:32 · 6109 阅读 · 0 评论 -
Android 屏幕适配方案
Android 屏幕适配方案有老铁问我说能不能把Android屏幕适配方案汇总一下整合一篇文章, 其实我听到这句话的心里的感觉汇总这个干嘛、 每个项目的适配需求是不一样的、 我们公司的适配要求是这样的、 另一个项目是这样的。 我的想法是最基本的屏幕适配概念是要清楚明白了然于胸的,适配方案可以了解、原理也可以借鉴学习。1.屏幕适配定义使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果2.相关重要的概念2.1 屏幕尺寸[物理尺寸]含义:手机对角线的物理尺寸单位:英原创 2020-07-31 17:12:33 · 398 阅读 · 0 评论 -
kotlin基础语法-06-语法特性-真泛型
kotlin基础语法-06-语法特性-真泛型本文主要写一些kotlin中的语法特性包含、变量、常量与只读、空安全是如何实现的、内联的特殊情况、kotlin的真泛型先来学个java命令、jdk 为我们提供的一个工具、 用来反编译一个class 文件的、javap [optoin] *.class -c 输出分解后的代码。 例如: 类中每一个方法内、包含Java字节码的指令 -ver...原创 2020-03-11 16:18:35 · 1062 阅读 · 0 评论 -
Kotlin基础语法-05-运算符重载-中缀表达式
Kotlin基础语法-05-运算符重载-中缀表达式接上篇文章本文主要从kotlin 中的运算符重载、中缀表达式、反引号与typealies、 对象比较与值比较、DSL的基本概念、1.运算符重载来看一段代码fun main( args : Array<String>){ /// 这里的step 就是步进、中缀表达式。 for( i in 1..10...原创 2020-03-09 17:29:03 · 1064 阅读 · 0 评论 -
Kotlin 基础语法-04-高级特性
Kotlin 基础语法-04-高级特性本文主要写kotlin中的解构、循环和集合操作符、 运算符重载、 作用域函数、 中缀表达式、DSL相关知识来展开。解构fun main(args: Array<String>){ val user = User(28,"samuelnotes") val (age,name) = user ///...原创 2020-03-06 18:22:28 · 1079 阅读 · 0 评论 -
kotlin 基础语法-03-面向对象
kotlin 基础语法-03-面向对象本文主要写一些kotlin 基础语法中的 类、对象、伴生对象、 构造函数和次级构造函数在java中的集成实现用extends 、 实现接口 使用 Implements . 我们看一下kotlin 类的声明格式。// 关键字 class 、 类名、 继承自 BaseActivity 实现了OnClickListener 接口 。 如果当前类有基类...原创 2020-03-05 16:59:56 · 1034 阅读 · 0 评论 -
kotlin 基础语法-02-函数-高阶函数
kotlin 基础语法-02-函数-高阶函数本篇文章 主要介绍kotlin 中的函数、嵌套函数、扩展函数、 lambda 语法 、 高阶函数、内联函数 体会函数式编程的能力。1.函数我们已经很熟悉函数的声明了、基本函数的声明语法如下:fun funName(arg1:String="默认值"):返回值类型{ /// 函数体 }其中参数后边的默认值是可以省略的、 如果...原创 2020-03-03 16:25:46 · 381 阅读 · 0 评论 -
Kotlin 基础语法-01-基本知识-与java互调
Kotlin 基础语法-01前言:Kotlin 语言在2017年被google 官方宣布为Andorid 开发的第一语言、 不可否认我们现在很多项目和一些老旧项目依然有很多人在使用Java 语言,但随着未来慢慢的推广和替代,kotlin 会逐渐取代上层Java语言开发的份额,由此可见我们学习kotlin 语言的重要性。扯淡:这一kotlin基础语法系列适合有一定java语言语法和C或...原创 2020-02-29 18:33:43 · 1085 阅读 · 0 评论 -
Java基础-面向对象
Java基础-面向对象由于年前工作太忙、实在没时间整理Java基本知识。 但是可能长时间不更新不好看、再说我个人也没有半途而废的习惯。所以决定节前还是更新一篇吧。 这也算是Java的基本思想和一些偏进阶的东西。 如果思考透彻了、理解清楚了、那么这将对Java的进阶有很好的帮助。1.面向对象基础1.面向对象的思想1.1面向对象的思想A:面向过程思想概述 写这一部分、我想了半天...原创 2020-01-16 17:50:17 · 2920 阅读 · 1 评论 -
Java基础-基本语句语法-方法-数组-内存分配及栈和堆的区别
Java基础-基本语句语法-方法-数组-内存分配及栈和堆的区别最近一段比较忙,抽出时间,来更一篇。 这一篇主要还是Java基础, 基础语句语法、 数组、内存分配及栈和堆的区别。1. Java基本语句结构1.1 语句结构种类顺序结构选择结构循环结构1.2 顺序结构从上到下依次执行1.3 选择结构【可以嵌套】if , if else , if ...原创 2019-12-11 12:00:07 · 2700 阅读 · 0 评论 -
Java基础-运行环境与关键字和基本数据类型
Java 基础语法-运行环境与关键字接上一篇的语言简介, 我们知道任何编程语言制作的软件,运行都需要一定的运行环境。 那么Java语言的运行环境是什么?Java语言的编译与运行环境Java 编译工具jar.exe jar包javadoc.exe 文档生成器Java.exe 解释器Javac.exe 编辑器这里说的是Windows平台下的 exe 其实其他平台一样,原理都一样...原创 2019-11-13 16:12:43 · 2318 阅读 · 0 评论 -
Java基础-语言简介
Java基础-语言简介本来不想写这篇文章,但是为了不让初学者学起来莫名其妙,突兀半路出家的感觉,还是花点时间简单地说一下软件的发展与语言。1. 软件是什么?课本上的定义就不多说了,当初记得是程序+文档 就是软件。其实定义这个概念也是比较合理的。 但是对于我们开发人员和使用Java语言进行程序开发的人员来说 这个概念太泛泛了。 简单地说在我们常用的PC机 (windows机/ Mac机, ...原创 2019-11-03 16:56:35 · 3771 阅读 · 0 评论 -
Java基础-开篇
Java基础-开篇写Java基础这一部分我也是考虑了很久,我从2013年大学毕业从事过c/c++, C# , asp.net , j2ee , 最终选择了以Java语言为基础的Android开发工作。 至今算下来也六七年了吧, 在一般程序员的生涯中3年应该是一个分水岭,因为在三年的时间段里,我们至少上手过五六个项目,大项目两三个,加过班,也熬过夜,懂得了程序中问题的存在、快速定位、修复。再后来...原创 2019-11-03 09:45:47 · 2238 阅读 · 0 评论 -
数据结构与算法-栈与队列
数据结构与算法-栈与队列栈基本概念简单表述就是仅在表尾进行插入和删除操作的线性表。 常见操作入栈和出栈, 均在线性表的尾部进行。 基本原则就是, 先入后出。队列基本概念和栈不同的是,队列只允许在一端进行插入操作、而在另一端进行删除操作的线性表。 常见操作入队列和出队列。 基本原则就是,先入先出。Java中常见数据结构类...原创 2018-04-02 17:58:31 · 10628 阅读 · 0 评论 -
Java 高并发系列2-并发锁
Java 高并发系列2-并发锁接着上一篇并发文章我们继续Java 高并发系列1-开篇本篇的主要内容是以下几点:wait 、notify 的简单使用Reentrantlock的简单使用synchronized 与Reentrantlock的区别ThreadLocal的简单使用看一个面试题:曾经的面试题:(淘宝?)实现一个容器,提供两个方法,add,size写两个线程,线程1...原创 2019-07-06 17:25:02 · 8382 阅读 · 0 评论 -
常见正则表达式备忘
常见正则表达式常用正则表达式备忘非负整数:^\d+$ 正整数:^[0-9]*[1-9][0-9]*$ 非正整数:^((-\d+)|(0+))$ 负整数:^-[0-9]*[1-9][0-9]*$ 整数:^-?\d+$ 非负浮点数:^\d+(\.\d+)?$ 正浮点数 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\....原创 2019-07-31 13:59:04 · 3312 阅读 · 0 评论 -
性能优化系列-Android 内存泄漏例子
性能优化系列-Android 内存泄漏例子内存泄露(Memory Leak)Java内存泄漏指的是进程中某些对象(垃圾对象)已经没有使用价值了,但是它们却可以直接或间接地引用到gc roots导致无法被GC回收。Dalvik VM具备的GC机制(垃圾回收机制)会在内存占用过多时自动回收,严重时会造成内存溢出OOM。内存溢出OOM(Out Of Memory)当应用程序申请的java hea...原创 2019-07-31 17:14:03 · 10990 阅读 · 0 评论 -
Binder核心原理与架构设计-Service启动
Binder核心原理与架构设计-Service启动这篇文章主要分析一下Binder核心原理与架构设计-Service启动, 我们身边可能有很多做好几年Android 开发的 却对Binder 了解不深,着重于应用层面的开发和API的调用。而现实的开发或者面试如果对Binder了解不深的话可以说很难进入高级工程师的行列。 所以说如果真正对系统底层了解比较深入的话 进程间通信是必知必会的, 就让我...原创 2019-08-19 18:43:39 · 4988 阅读 · 0 评论 -
Binder核心原理与架构设计-开篇
Binder核心原理与架构设计这篇文章主要分析一下Binder, 我们身边可能有很多做好几年Android 开发的 却对Binder 了解不深,着重于应用层面的开发和API的调用。而现实的开发或者面试如果对Binder了解不深的话可以说很难进入高级工程师的行列。 所以说如果真正对系统底层了解比较深入的话 进程间通信是必知必会的, 就让我们开始吧。简单一句话Binder是什么, 就是IPC ...原创 2019-08-15 11:46:33 · 4941 阅读 · 0 评论 -
Android View的绘制流程
Android View的绘制三大流程View的mesure、layout、draw三大流程。本文将详细讲解View的三大流程,阅读本文最好有牢固的Android基础,并且对Android View的基本结构有所了解。View的三大流程非常的重要,感觉现在面试必问。 同时,这个流程熟悉对于提升我们的开发水平也有很大的帮助。 在实际的开发中解决那种坑逼的问题时,熟悉三大流程必将事倍功半。本文...原创 2019-08-21 16:41:54 · 4828 阅读 · 0 评论 -
IntentService 使用与源码解析
IntentService 使用与源码解析IntentService 这兄弟用的地方也蛮多,用起来也蛮顺手, 而且用过不用太操心是否将其关闭。 之前在介绍Handler消息机制一文中简单介绍其工作原理。 本文就着重IntentService进行解析。本文主要分六部分展开:IntentService的介绍IntentService的使用IntentService的源码解析Inten...原创 2019-07-15 18:22:17 · 5904 阅读 · 0 评论 -
Java高并发系列5-线程池
Java高并发系列5-线程池接上一篇Java并发系列4-并发容器我们继续在编程中经常会使用线程来异步处理任务,但是每个线程的创建和销毁都需要一定的开销。如果每次执行一个任务都需要开个新线程去执行,则这些线程的创建和销毁将消耗大量的资源;并且很难对其单个线程进行控制,更何况有一堆的线程在执行。这时就需要线程池来对线程进行管理。在线程池的管理下,线程分为启动,执行,空闲状态, 如果新来任务则...原创 2019-07-08 15:43:06 · 11630 阅读 · 4 评论 -
Java高并发系列4-并发容器
Java高并发系列4-并发容器接上一篇Java高并发系列3-再写单例我们继续,并发容器在高并发中有这举足轻重的地步,这一篇我们主要看并发容器。1、并发List在List下中有ArrayList 、LinkedList 、Vector 三种数据结构,其中Vector属于线程安全的。 在List下还有CopyOnWriteArrayList类实现的List接口,它也是线程安全的。Copy...原创 2019-07-08 15:32:01 · 8137 阅读 · 2 评论 -
提升Android应用的启动速度与设计
提升应用的启动速度与设计 这一部分主要写一写 应用启动白屏, 启动速度较慢,以及优化方案。本文一共分三个部分。搞定启动速度,让应用飞起来。1. 常规的优化方案2. 优化方案探讨3. 总结1.常规的优化方案a.热启动与冷启动1)冷启动:当直接从桌面上直接启动,同时后台没有该进程的缓存,这个时候系统就需要重新创建一个新的进程并且分配各种资源。2)热启动:该...原创 2018-07-13 18:37:42 · 10037 阅读 · 0 评论 -
阿里巴巴Android开发手册读后笔记
阿里巴巴Android开发手册读后笔记 通过前边一段时间的阅读,把手册中的内容整理了一下,做了一篇读后笔记。 个人觉得以下内容是在开发中需要注意的。 这里放个链接,是阿里巴巴开发手册 ,需要的可以去下载Android 基础组件1.【强制】Activity 间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 EventBus ...原创 2018-05-27 21:42:20 · 7439 阅读 · 0 评论 -
Android Handler消息机制解析
Android Handler消息机制解析 众所周知 Handler在Android中的地位非常重要, 从处理异步线程任务队列的HandlerThread到从子线程与UI线程的通信, 再到ActivityThread中四大组件的sendMessage调度, 再到进程间通信与之关联Messenger 可以说是从头到尾贯穿的整个Android系统的枝枝蔓蔓。 所以说搞明白,搞懂Handler消...原创 2018-05-20 20:31:55 · 8467 阅读 · 0 评论 -
ThreadLocal 源码详细解析
ThreadLocal 源码详细解析 写这篇文章不在计划之内, 主要是分析到Handler消息机制一文中,牵涉到ThreadLocal内容,一次全部写完文章过长,所以打算单独摘出来梳理成为一篇文章。引言在我们日常开发中用到ThreadLocal的地方很多,在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题...原创 2018-04-20 21:49:51 · 8279 阅读 · 0 评论 -
数据结构与算法-HashMap与LinkedHashMap
数据结构与算法-HashMap与LinkedHashMapMap基本概念Map 一般在开发中使用非常广泛,常用的有HashMap, LinkedHashMap,TreeMap等等,由于使用的时候一般是有key和value一一对应,所以称之为Map。百度百科 — Map 接口定义的集合又称为查找表,用于存储所谓“key-value”映射对。Key可以看成是Value 的索引,...原创 2018-04-08 14:37:02 · 8365 阅读 · 0 评论 -
数据结构与算法-线性表
数据结构与算法-线性表基本概念线性表,顾名思义就是从逻辑上讲是连续的,一系列元素组成的数据元素,可以连起来就像一条线一样。 逻辑表述就是: a1是a2的前驱,ai+1 是ai的后继,a1没有前驱,an没有后继 n为线性表的长度 ,若n==0时,线性表为空表常见线性表顺序存储线性表说一种最常见的顺序存储线性表例子就是,排队买火车票的时候。 长长的一条队列。 ...原创 2018-03-25 21:52:50 · 7829 阅读 · 0 评论 -
数据结构与算法-开篇
数据结构与算法-开篇 先说一下数据结构,对于老司机来说就是数据的使用方法,如果非给个概念的话个人觉得数据之间相互存在的一种或多种特定的关系的元素的集合逻辑结构常见的数据对象中数据元素之间的相互关系 * 集合结构 * 线性结构 * 树形结构 * 图形结构物理结构无论是什么数据对象具体体现在计算机存储体系中,必须自己的存储方式,也就是数据结构的物理结构 无非就是...原创 2018-03-25 21:00:19 · 9095 阅读 · 0 评论 -
Android应用接入微信支付实现支付功能
Android应用接入微信支付实现支付功能 记得很早以前公司项目中添加过移动支付这一块, 包括 微信,支付宝,银联等第三方的整合。 但是后来懒于总结就没留下什么, 最近公司项目打算添加,所以打算简单总结一下,记上一笔以备将来使用。 毕竟第三方的支付SDK , 一般定下了以后三五年不会改变。 闲话少说,开干。 集成第三方SDK没什么难度,只要我们用心阅读文档和开发引导,集成起来再留点神,一切...原创 2018-03-17 18:22:33 · 9220 阅读 · 0 评论 -
数据结构与算法-树与二叉树(概念篇)
数据结构与算法-树与二叉树(概念篇) 很长时间没有写关于数据结构的文章了, 那是因为最近实在是太忙了, 而梳理数据结构这方面的知识点又很庞大驳杂,只能尽可能地总结的,压缩。与此同时这又需要很长的准备时间。 树与二叉树决定分两部分,分为概念篇和数据结构算法篇。 我们先来熟悉一下树与二叉树部分相关的概念和结构。树树 是n (n&amp;amp;amp;gt;=0)个结点的有限集合。n=0 时为...原创 2018-07-31 17:29:30 · 7901 阅读 · 1 评论 -
Android 事件传递机制总结
Android 事件传递机制总结Android View虽然不是四大组件,但是其重要程度堪比四大组件。初级工程师到中高级工程师,这些都是很重要的,因为事件分发机制面试也会经常被提及,如果我们能get到要领,并跟面试官深入的交流一下,那么一定会让面试官对我们印象深刻,发放offer。 就为了这个我们刨根问底深入学习一下事件传递机制,也是很值得的。下面我们就从以下几个部分分析一下事件传递机制:...原创 2019-06-15 17:47:55 · 7719 阅读 · 0 评论 -
Java高并发系列3 -再写单例
Java高并发系列3 -再写单例接高并发系列上一篇Java高并发系列2-并发锁这篇我们来说说高并发下的单例。单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。非线程安全的单例设计这里不再提及,主要涉及线程安全的单例设计。1.看一条设计public class Singleton { private static Singleton sin=new Sin...原创 2019-07-08 14:49:52 · 7275 阅读 · 2 评论 -
Java 高并发系列1-开篇
Java 高并发系列1-开篇我们都知道在Android开发中, 一个Android程序启动之后会有一个主线程,也就是UI线程, 而网络加载数据, 本地文件长时间读写,图片压缩,等等,很多耗时操作会阻塞UI线程,到时ANR的产生,在Android 3.0 之后便不能在UI线程使用。 由此可见多线程的使用在Android开发中占地位是多么重要。这个系列 我打算通过一个个的例子来说明多线程的基本...原创 2019-06-23 18:19:21 · 6780 阅读 · 2 评论 -
Android应用接入支付宝实现支付功能
记得很早以前公司项目中添加过移动支付这一块, 包括微信,支付宝,银联等第三方的整合。 但是后来懒于总结就没留下什么, 最近公司项目打算添加,所以打算简单总结一下,记上一笔以备将来使用。 毕竟第三方的支付SDK , 一般定下了以后三五年不会改变。 闲话少说,开干。 集成第三方SDK没什么难度,只要我们用心阅读文档和开发引导,集成起来再留点神,一切都不是问题。 1. 申请流程(支付宝移动开发平台)1....原创 2018-03-09 10:18:31 · 16121 阅读 · 0 评论