自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白成长记录

春风十里不如你

  • 博客(31)
  • 收藏
  • 关注

原创 地理坐标定位和计算距离

地理坐标定位和计算距离场景介绍在SNS应用中通常会有"附近的人"、或者地图应用中搜寻目的地距离当前路程等场景。此时我们就需要根据两点地理位置的经度和纬度计算出距离。备注:通常智能手机只要用户同意软件使用定位功能,就都可以轻松的获取到用户当前所在地理坐标,因此前段可以轻松的将地理坐标传给后端,后端将其存储起来然后计算。可以存在redis缓存也可以存在mysql中。实现方法基于java自己实现jav

2016-06-30 23:59:29 9286

原创 No-SQL之Redis

No-SQL之Redis介绍redis是一种基于内存存储的key-value高性能存储系统,类似memcached,但是redis支持丰富的数据结构类型,并且其还支持数据持久化到磁盘。Redis is a data structure server. It is open-source, networked, in-memory, and stores keys with optional dur

2016-06-30 21:57:34 3629

原创 随笔

随笔分布式与集群分布式:分布式的侧重点在于去中心化, 通常是一个复杂业务可能会拆分成多个子业务,每个子业务部署在不同的物理服务器上集群:集群强调的是任务同一性,只是物理服务器上的重复以便抗压和负载均衡。 通常是同一个业务部署在多个服务器上。备注通常分布式和集群是会一起使用的

2016-06-28 22:05:55 352

原创 java io流中涉及的设计模式

java io流中涉及的设计模式介绍先看一段代码,查看其中涉及到的模式public void testInputStreamReader() throws Exception { private static final String SEPARATOR = File.separator; File file = new File("e:" + SEPARATOR + "io" + S

2016-06-28 21:49:04 8952

原创 Buffered流以及其思想

Buffered流以及其思想缓存思想介绍“1998年,被誉为“软件世界的爱迪生”,发明BSD、TCP/IP、csh、vi和NFS的SUN首席科学家Bill Joy曾经无不调侃地说,在计算机体系结构领域里,缓存是唯一能称得上伟大的思想的,其他的一切发明和技术不过是在不同场景下应用这一思想而已。”——《精通正则表达式》虽然说的有点"过分",但是其实在很多场景和技术中我们都会看到缓存思想的影子。1、

2016-06-28 21:28:15 438

原创 Reader && Writer

Reader&Writer介绍Reader和Writer分别表示字符输入流和字符输出流,是为了方便高效操作文本文件而产生流操作类。备注:Reader和Writer能够完成的操作,InputStream和OutputStream字节流也都能完成功能。反过来不成立,Reader和Writer只能操作文本文件,二进制文件只能使用字节流来操作。互联网中有很多时候都是传输和处理文本内容的,所以就出现了字符

2016-06-28 21:09:18 1451

原创 InputStream && OutputStream

InputStream && OutputStream介绍IO流操作中非常重要的一组接口(其实是抽象类)是InputStream和OutputStream。InputStream字节输入流其最核心的一个方法是read()方法OutputStream字节输出流其最核心的一个方法是write()方法所有字节输入输都要实现read方法,所有字节输出流都要实现write()方法。字节流可以操作任意类型的

2016-06-27 23:31:22 2004

原创 File文件类

File文件类介绍File表示文件或目录。可以这么理解File既可以表示文件也可以表示目录. File类是在java.io包中唯一与文件本身有关的类。An abstract representation of file and directory pathnames.文件是操作系统中操作数据的最小单元体Linux系统分隔符为 /;window的分隔符为\。开发的时候最好使用File.separa

2016-06-27 21:27:15 548

原创 初识HTTP协议

初识HTTP协议HTTP协议介绍HTTP(HyperText Transfer Protocol)超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。http协议由于其简单高效以及无状态所以迅速流行起来了,但是随着web应用的发展也暴露出部分缺点了。http是基于tcp/ip传输层协议之上的应用层协议。两台计算机要互相通信最重要的两点:1、如何寻找到对方(IP网

2016-06-25 23:15:18 658

原创 基于原生URL和URLConnection的请求组件

基于原生URL和URLConnection的请求组件介绍java的http组件有很多比如httpClient、okHttp等,但是其实java.net包就自带了原生的访问http资源的类(URL、URLConnection),学会原生的对我们理解和使用第三方组件也很有帮助,原生包的缺点就是编程相对繁琐,扩展不易。第三方组件相对而言功能强大扩展好,但是它们底层其实还是基于java.net原生类的。UR

2016-06-24 22:36:17 657

原创 URLEncoder和URLDecoder

URLEncoder和URLDecoder介绍URLEncoder和URLDecoder主要是用于对URL地址编码和解码的,大多数场景下我们都是使用new String(byte[],charset)方法来解码。String string1=URLEncoder.encode("你好世界", "utf-8");System.out.println(string1.length());//36St

2016-06-23 23:09:16 330

原创 Get请求与Post请求之字符编码问题

Get请求与Post请求之字符编码问题Get请求get请求的字符编码问题相对来说比较麻烦一点,因为其请求参数都是拼接在url上,而Request对象设置编码只能对请求体其作用,并不能对url编码起作用,url依然使用的是iso-8859-1编码。处理步骤:1、对request设置统一编码(utf-8)(一般不起作用)2、获得参数之后强行使用String转码(不推荐麻烦)3、配置servlet容器

2016-06-23 22:51:55 6602 3

原创 HttpServletRequest 和 HttpServletResponse对象

HttpServletRequest 和 HttpServletResponse对象HttpServletRequest对象HttpServletRequest对象代表客户端的请求对象,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。HttpServletRequest继承ServletRequest接口

2016-06-23 22:02:14 927

原创 分布式锁实现机制

分布式锁实现机制介绍说明单点应用下,并发场景相对还比较好控制,可以借助java.util下的并发包工具能够解决大部分问题。但是在多节点分布式场景下,java.util.locks.ReentrantLock可能就并不能发挥多大作用了,此时我们需要借助分布式锁来控制并发。解决思路分布式场景下之所以不能够使用并发包下的锁解决并发问题,那是因为多节点是每个应用都有相互独立的进程,他们没有共享内存资

2016-06-21 20:56:17 9078

原创 TCP连接三次握手的通俗理解

TCP建立连接三次握手的通俗理解TCP三次握手TCP传输控制协议,是一种可靠的传输协议。举例说明以打电话为例如何理解TCP三次握手 tcp建立连接的关键在于双方都需要确认自己的发送信息和接收信息功能是正常的。发送信息功能是通过对方确认接收到信息来确认的,接收信息功能是通过接收对方信息来确认的。TCP三次握手 参考https://www.zhihu.com/question/24853633

2016-06-20 22:26:59 1149

原创 Tomcat服务器的安装和介绍

Tomcat服务器的安装和介绍介绍Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样理解Tomcat是一个运行Servlet程序的容器,所以tomcat也称作Servlet容器。Tomcat的安装配置官网下载地址:https://tomcat.apache.org

2016-06-20 22:08:25 460

原创 Cookie与Session的研究学习

Cookie与Session的研究学习Cookie介绍Cookie是浏览器(User Agent)访问一些网站时,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能。可以设置Cookie的生存时间,如果不设置其生命周期就是会话的生命周期。Cookie对象是存在客户端(浏览器)上的。备注:Cookie主要的应用场景就是方便服务器追踪用户,还有用户自动登入功能。Cookie在jav

2016-06-16 22:41:29 471

原创 Java EE之Servlet技术

Java EE之Servlet技术java Servlet介绍Java Servlet是java EE标准规范之一。Servlet是Java Web 技术的核心基础,因此掌握好Servlet是很有必要的。掌握Servlet的工作原理是成为一名合格的Java Web技术开发人员的基本要求。Servlets are very important topic of Java EE and all of

2016-06-15 22:25:50 4498 1

原创 Thread Pool(线程池)技术

Thread Pool(线程池)技术技术背景介绍 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些

2016-06-15 22:20:31 3166

原创 数据库事务介绍

数据库事务介绍数据库事务主要类型 本地事务(JDBC):单数据源 全局事务(JTA):全局事务的实现通常是采用二次提交方式。多数据源数据库事务概念:所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态事务的ACID属性:1. 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 2. 一致性(Consistency)事务必须使数据

2016-06-12 16:23:57 488

原创 mybatis3.x框架体系结构

mybatis3.x框架体系结构介绍持久层框架有很多,重量级的有hibernate轻量级的有spring的jdbcTempleate和apache的DbUtils,它们有各自的优点和应用场景。mybatis算是一个折中的框架,既有orm框架的部门自动映射功能(指的是入参和出参的映射)也有原生jdbc的高效性能。mybatis的功能很强大,然而其实现却比较简单、优雅。尤其互联网行业对其非常的热衷。框架

2016-06-08 09:06:07 2574 1

原创 Mybatis缓存机制

Mybatis缓存机制介绍和大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持。备注:所谓的缓存都是只针对查询而言的,这点千万要弄清楚否则就闹笑话了。一级缓存mybatis框架中的一级缓存是SqlSession会话级别缓存,是使用HashMap本地缓存实现的,只对当前打开的SqlSession对象有效,当sqlSession关闭或刷新缓存后缓存会失效。一级缓存基于HashMa

2016-06-08 08:34:24 504

原创 字节、字符、ASCII码、UTF-8编码

字节、字符、ASCII码、UTF-8编码介绍计算机只能识别01二进制数字,为了使计算机能够读懂我们人类自然语言,美国科学家就定义了ASCII码值,比如用二进制01100001(97)表示英文字符’a’。由于英文字符比较少,用一个字节(3bit可以表示128种情况)就可以表示了,但是其它国家的文字字符可能有成百上千所以使用一个字节是无法表示的,因为为了都能表示全世界各国的文字,采用UTF-8的3个字节

2016-06-07 21:45:28 1237

原创 HttpClient 组件学习使用

HttpClient 组件学习使用背景介绍目前在很多java开发中都需要使用到发送http请求,虽然java.net包提供了发送http请求的接口和类但是使用原生不够灵活和比较复杂,因为为了更便捷的使用http请求apache组织提供了开源HttpClient组件可以让我们很方便的来发送http请求。The Hyper-Text Transfer Protocol (HTTP) is perhaps

2016-06-06 22:12:42 1843

原创 Java 读取properties配置文件

Java 读取properties配置文件应用场景java开发中经常将一些易变配置参数放置在xml配置文件或properties配置文件。解析xml配置文件通常使用dom或sax方式,而读取properties配置文件比较容易,直接使用java.util下的Properties类读取配置文件。读取方式基于ClassLoader读取配置文件 Properties properties = new

2016-06-06 21:03:59 11699

原创 DbUtils component学习使用(jdbc封装工具)

DbUtils component学习使用(jdbc封装工具)介绍The Commons DbUtils library is a small set of classes designed to make working with JDBC easier. JDBC resource cleanup code is mundane,error prone work so these class

2016-06-06 14:54:17 695

原创 如何理解索引

如何理解索引问题场景假如有1000多万条学生成绩单记录,如何查询某个学生的成绩单信息(提供学生学号)?1、最常见的思路就是我们从头到尾一条一条比对学号,但是这样效率比较低。2、插入表之前先按学号排序,当我们要查询的时候就可以缩小范围更快速的查询了。在第二种思路中使用二分法查找是最快的,先查中间,然后看学号是大还是小然后继续重复上面的查询。hash索引备注hash索引不属于有序索引,直接定位,效

2016-06-04 14:34:49 1188

原创 Mybatis与Spring集成

Mybatis与Spring集成为什么需要集成因为目前很多企业都是基于spring框架开发的,所以将mybatis交给spring管理显得就合情合理了。并且利用spring的声明式事物和aop技术可以很好的管理sqlSession的打开与关闭。集成思路MyBatis的核心是围绕一个SqlSessionFactory对象的,所以要定义一个这样的Bean对象,还需要定义一个DataSourceTrans

2016-06-03 23:41:09 352

原创 数据源(数据库连接池)

数据源(数据库连接池)介绍数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;这项技术能明显提高对数据库操作的性能。简单理解DataSource是一个管理数据库连接Connection对象的容器。可以这么看DataSource类似List java数据源介绍使用数据库连接池的优点:1、资源重用2、更快的系统响应速度3、新的资源分配手段4

2016-06-02 21:51:18 785

原创 Java EE之JDBC技术

Java EE 之 JDBC介绍Java Database Connectivity(使用java操作数据库的标准接口,任何java访问数据库框架最终底层都是基于jdbc接口实现 来操作数据库的,只是框架对jdbc有所封装).JDBC是java ee众多标准其中一个。Java Database Connectivity (JDBC) is an application programming in

2016-06-02 14:06:56 2004

原创 映射器配置文件

映射器配置文件案例背景employee员工表、dept部门表基本配置deptMapper.xml配置如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

2016-06-01 23:32:56 558

空空如也

空空如也

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

TA关注的人

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