自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我爱吃土豆

做人要像土豆一样,跟啥都能炖一起,咋整都不难吃。

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

转载 【MySql】——执行计划解读

一、MySql执行计划所谓的执行计划就是Mysql如何执行一条Sql语句,,描述mysql如何执行查询操作、执行顺序,使用到的索引,以及mysql成功返回结果集需要执行的行数。可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们的查询,让查询优化器能够更好的工作。例如:基本语法:explain select ...一些变体将表格形式的执...

2018-11-30 16:17:49 7430

原创 【设计模式】——代理模式(静态)

一、代理模式代理模式是Java常见的设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象。为什么要采用这种间接的形式来调用对象呢?一般是因为客户端不想直接访问实际的对象,或者访问实际的对象存在困难,因此通过一个代理对象来完成间接的访问。代理对象:起到中介作用,连接客户端和目标对象 例子:电脑桌面的快捷方式。电脑对某个程序提供一个快捷方式...

2018-11-30 11:12:39 8157 2

转载 【MySQL】——索引使用策略及优化

前言MySQL的优化主要分为结构优化(Scheme optimization)和查询优化(Query optimization)。本章讨论的高性能索引策略主要属于结构优化范畴。本章的内容完全基于前文MySql的B-/+Tree索引原理剖析和MySql的MyISAM和InnoDB两个存储引擎的索引实现的理论基础,实际上一旦理解了索引背后的机制,那么选择高性能的策略就变成了纯粹的推理,并且可以理解...

2018-11-29 08:58:29 6879

转载 【MySql】——MyISAM和InnoDB两个存储引擎的索引实现

前言在上文MySql的B-Tree索引原理剖析中我们讨论了与索引相关的数据结构与算法问题,本文讨论B+Tree是如何具体实现为MySQL中索引,同时将结合MyISAM和InnDB存储引擎介绍非聚集索引和聚集索引两种不同的索引实现形式。聚簇索引: 索引 和 数据文件为同一个文件。非聚簇索引: 索引 和 数据文件分开的索引。一、MyISAM索引实现MyISAM引擎使用B+Tree...

2018-11-28 11:48:09 7533

转载 【MySql】——B-/+Tree索引原理剖析

一、什么是索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。常见的索引:顺序查找: 最基本的查询算法-复杂度O(n),大数据量此算法效率糟糕。 hash索引无法满足范围查找。 二叉树、红黑树 [复杂度O(h)]导致树高度非常高(平衡二叉树一个节点只能有左子树和右子树),逻辑上很近的节点...

2018-11-28 10:42:54 7349

原创 【ArrayList】——java.util.ArrayList源码分析

一、ArrayList类这里分析jdk 1.8,包含一些1.8新特性的源码继承树如下:宏观上说,ArrayList是基于动态数组实现的,数组具有按索引查找的特性,所以访问很快,适合经常查询的数据。public class ArrayList<E> extends AbstractList<E> implements List<...

2018-11-26 13:23:38 9036

转载 【设计模式】——装饰器模式

一、装饰器模式装饰器模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能。其结构图如下:Component为统一接口,也是装饰类和被装饰类的基本类型。 ConcreteComponent为具体实现类,也是被装饰类,他本身是个具有一些功能的完整的类。 Decorator是装饰类,实现了Component接口的同时还在内部维护了一个ConcreteComponent的实例,...

2018-11-23 17:33:07 8078

转载 【设计模式】——策略模式

一、策略模式写代码时总会出很多的if…else,或者case。如果在一个条件语句中又包含了多个条件语句就会使得代码变得臃肿,维护的成本也会加大,而策略模式就能较好的解决这个问题,本篇博客就带你详细了解策略模式。定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。分析下定义,策略模式定义和封装了一系列的算法,它们是可以相...

2018-11-23 10:49:18 8077

转载 【设计模式】——工厂模式

一、简单工厂简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是Gof23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是工厂方法模式的一个引导,所以我想有必要把它作为第一个讲一下。简单工厂模式又 叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通...

2018-11-22 17:07:26 8136 1

原创 【Android】入门案例(三)——HTTP连接MySql数据库实现登录

前言在上文Android入门案例(二)——JDBC连接MySql数据库实现登录中我们已经实现JDBC直连数据库,我在结尾也说过实际开发中一般是Android端访问web后台,由后台程序接受参数去访问数据库,并返回访问结果给Android端,本文我们来实现HTTP方式的登录小案例。在项目中实现注册登录有很多种方式,一般对于初学者来说,不使用框架,采用http的post和get请求后台服务器,...

2018-11-22 16:02:35 16892 21

原创 【异常】——Android:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

前言练习Android项目Android入门案例(三)——HTTP连接MySql数据库实现登录时导入了http有关架包后,程序编译报错如下:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.Trans...

2018-11-22 14:41:30 8151

原创 【线程】——向线程传递参数的方法

在学习AndroidAndroid入门案例(二)——JDBC连接MySql数据库使用jdbc方式连接本地数据库需要新开子线程,遇到向线程传参的问题,特开此贴一、通过构造方法传递数据在创建线程时,必须要建立一个Thread类的或其子类的实例。因此,我们不难想到在调用start方法之前通过线程类的构造方法将数据传入线程。并将传入的数据使用类变量保存起来,以便线程使用(其实就是在run方法中使...

2018-11-22 10:18:37 8903

原创 【异常】java.lang.NullPointerExeption:Attempt toinvoke interface method java.sql.Statement java.sql.Conn

一、前言在此之前可看下另一个错误是否伴生,有的话先解决数据库访问超时在学习AndroidAndroid入门案例(二)——JDBC连接MySql数据库使用jdbc方式连接本地数据库时报错:java.lang.NullPointerException: Attempt to invoke interface method 'java.sql.Statement java.sql.Con...

2018-11-21 18:35:29 15600 2

原创 【Android】入门案例(二)——JDBC连接MySql数据库实现登录

在上文Android入门案例(一)——简单登录中,我们只是简单接触Android,所以实现的是单机登录,这章我们接着完善登录的小案例,选择连接mysql云端数据库一、准备1.加载外部jar包在Android工程中要使用jdbc的话,要导入jdbc的外部jar包,可去官网下载,也可以百度自行下载2.导入jar包方式一:可以在项目的build.gradle文件中直接添加如下语......

2018-11-21 18:34:43 23455 13

原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

一、前言在学习AndroidAndroid入门案例(二)——JDBC连接MySql数据库使用jdbc方式连接本地数据库时报错:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the serve......

2018-11-21 18:08:56 90067 11

原创 【Android】入门——基本控件详解

Android应用开发的一项重要内容就是界面开发。对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户。作为一个程序员如何才能开发出友好的图形界面呢。实际上Android提供了非常丰富UI(UserInterface)控件,开发者只要掌握了这些控件的特性,按照一定的规律,就可以像堆积木一样开发出友好的图形界面。本文将介绍常用的基本控件的...

2018-11-20 13:19:59 7675

原创 【Android】入门——六大布局详解

本博文对LinearLayout、RelativeLayout、自定义ViewGroup、FrameLayout、TableLayout、AbsoluteLayout六种布局进行详细的讲解。一.LinearLayout布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="h...

2018-11-20 10:59:01 7714

原创 【Android】入门案例(一)——简单登录

前言实习期间,闲来无事,和师傅学学Android入门一下Android的环境搭建和配置就不多说了,直接上干货一、效果先看下本案例想要实现的效果,由于是第一个小案例,所以并没有连接数据库,后面的博客应会有涉及二、步骤1.新建工程2.User.javapublic class User implements Serializable { private ......

2018-11-19 17:06:37 20634 14

原创 【Object】——java.lang.Object源码分析

一、Object类Object类是Java中所有类的基类,在编译时会自动导入,位于java.lang包中,而Object中具有的属性和行为,是Java语言设计背后的思维体现。这里写的代码是JDK8中的,其他版本的JDK可能略有不同。二、Object构造方法Object类中没有显示的提供构造方法,这是编译器默认提供的。三、Object类方法Object类中的大部分方法...

2018-11-16 15:55:43 8517

原创 【线程】——wait()和notify()深入剖析

一、官方文档对于wait()和notify()的理解,还是要从jdk官方文档中开始,在Object类方法中有:对于wait()和notify()的理解,还是要从jdk官方文档中开始,在Object类方法中有:void notify()Wakes up a single thread that is waiting on this object’s monitor.译:唤醒在此对...

2018-11-16 15:54:38 8423

原创 【克隆】——Object类clone方法彻底剖析

一、什么是克隆克隆就是依据已经有的数据,创造一份新的完全一样的数据拷贝。在Java中对象的克隆有深克隆和浅克隆之分。有这种区分的原因是Java中分为基本数据类型和引用数据类型,对于不同的数据类型在内存中的存储的区域是不同的。基本数据类型存储在栈中,引用数据类型存储在堆中。二、为什么要克隆克隆的对象可能包含一些已经修改过的属性,保留着你想克隆对象的值,而new出来的对象的属性...

2018-11-16 14:14:29 8104 3

原创 【MySQL】——case when then else end的用法

一、简单用法case具有两种格式。简单case函数和case搜索函数。简单case函数SELECT s.s_id, s.s_name, s.s_sex, CASEWHEN s.s_sex = '1' THEN '男'WHEN s.s_sex = '2' THEN '女'ELSE '其他'END as sex, s.s_age, s.cla...

2018-11-14 17:30:41 6017

转载 【学习路线】——JAVA工程师成神之路

分享一位大佬的博客,对于一名比较迷茫java工程师确实是比较好的学习路线,特转来,忘共勉一、基础篇JVMJVM内存结构堆、栈、方法区、直接内存、堆和栈区别Java内存模型内存可见性、重排序、顺序一致性、volatile、锁、final垃圾回收内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定JVM参数及调优Java对象模型oop-klass、对象头...

2018-11-13 10:08:41 7226 4

原创 【Serializable】——序列化和反序列化

一、序列化和反序列化的概念把对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。serialization 序列化 : 将对象转化为便于传输的格式, 常见的序列化格式:二进制格式,字节数组,json字符串,xml字符串。deserialization 反序列化:将序列化的数据恢复为对象的过程。就像淘宝上买一个大件,运输的时候当然到拆分...

2018-11-12 11:00:50 6768

原创 【程序人生】——秋招后实习初感及几个小flag

秋招 历经20多天的秋招,每天机器人般的生活,早起奔波于各大宣讲会,参加一场又一场的笔试,晚上怀着忐忑的心情等着面试通知,从刚开始的兴奋到后来的麻木,面试已经全靠本能去回答,终于也是拿了几个还算满意的offer,结束了自己的秋招,开始了人生的第一份职场生活,虽然后面也有传来同学找到更好的公司的消息,想着自己如果再坚持坚持或许那个人也可能是自己,但是却不后悔,人生难免有错过!实习...

2018-11-12 09:52:40 6930 7

原创 【String】——String,StringBuffer,StringBuilder的区别

阅读此文前最好预习String源码分析及AbstractStringBuilder源码分析通过解读三者源码便可分析如下区别:1.String,StringBuffer,StringBuilder最终底层存储与操作的都是char数组.但是String里面的char数组是final的,而StringBuffer,StringBuilder不是,也就是说,String是不可变的,想要新的字符...

2018-11-11 15:08:40 7007

原创 【AbsractStringBuilder】——java.lang.AbsractStringBuilder源码分析

一、AbstractStringBuilder类这个抽象类是StringBuilder和StringBuffer的直接父类,而且定义了很多方法,因此在学习这两个类之间建议先学习 AbstractStringBuilder抽象类该类在源码中注释是以JDK1.5开始作为前两个类的父类存在的,可是直到JDK1.8的API中,关于StringBuilder和StringBuffer的父类还是Ob...

2018-11-11 14:09:08 6610

原创 【注解】——@Deprecated

在看java.lang.String的源码时,看到一个陌生的注解外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。这其中提到了 @Deprecated 注解,在之前的开发过程中没遇到过这个注解,于是查了下他的功能:简单来讲就是,若某类或某方法加上该注解之后...

2018-11-09 09:36:18 7343

原创 【String】——java.lang.String源码分析

java.lang.String是使用频率非常高的类。要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的一、String类String类是被final所修饰的,所以不允许被继承和修改,String类实现了Serializable、Comparable、CharSequence这三个接口,Serializable接口使得String可序列化;Comparabl...

2018-11-08 17:13:54 7299

转载 【学习之路】——JAVA工程师推荐书单

浏览CSDN时无意看到大神推荐的java方向的书单,可谓福音,特转来与各位分享!一、Java-1年1、Java编程思想2、深入理解Java虚拟机3、Effective Java4、HTTP权威指南5、深入分析javaweb技术内幕6、Spring实战7、面向对象分析与设计8、设计模式其实很简单二、Java-2年1、Java并发编程实战2、J...

2018-11-08 15:12:13 9002

转载 【学习之路】——JDK源码阅读顺序

很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起。以下为小编整理的通常所需阅读的源码范围。标题为包名,后面序号为优先级1-4,优先级递减1、java.lang1) Object 12) String 13) AbstractStringBuilder 14) StringBuffer 15) StringBuilder 16) Boolean 27...

2018-11-08 15:00:51 6586

原创 【Native】——关键字Native

一、概念native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问。JNI是Java本机接口(Java Native Interface),是一个本机编程接口,它是Java软件开发工具箱(java Software D...

2018-11-08 14:42:15 7490

全球国家信息xml数据(含中英繁)

鹅厂中提取的全球地区信息xml文件,包含了中文,英文,繁体三种语言的文件,可以搭配博文中写的全球地区数据xml文件解析工具类使用哦

2020-03-31

空空如也

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

TA关注的人

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