自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 语法糖:内部类

内部类最后一个语法糖,讲讲内部类,内部类指的就是在一个类的内部再定义一个类。内部类之所以也是语法糖,是因为它仅仅是一个编译时的概念,outer.java里面定义了一个内部类inner,一旦编译成功,就会生成两个完全不同的.class文件了,分别是outer.class和outer$inner.class。所以内部类的名字完全可以和它的外部类名字相同。内部类分为四种:成员内部类、局部内部类、匿名内部类、静态内部类。先逐一了解下,再看下使用内部类有什么好处。成员内部类成员内部类是最常见的

2022-03-06 15:15:25 184

原创 序列化、反序列化和transient关键字的作用

序列化:将一个对象转换成一串二进制表示的字节数组,通过保存或转移这些字节数据来达反序列化:将字节数组重新构造成对象。

2022-03-06 08:09:59 303

原创 static关键字的作用

静态变量和静态方法static关键字最基本的用法是:1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来2、被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来被static修饰的变量、被static修饰的方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。JDK把不同的静态资源放在了不同的类中而不把所有静态资源放在一个类里面,很多人可能想当然认为当然要这么做,但是是否想过为什么要这么做呢?个人

2022-03-06 07:58:35 181

原创 final关键字的作用

final关键字的作用1、被final修饰的类不可以被继承2、被final修饰的方法不可以被重写3、被final修饰的变量不可以被改变被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的总结1、被final修饰的方法,JVM会尝试为之寻求内联,这对于提升Java的效率是非常重要的。因此,假如能确定方法不会被继承,那么尽量将方法定义为final的。2、被final修饰的常量,在编译阶段会存入调用类的常量池中。...

2022-03-06 07:51:30 632

原创 多态的理解

面向对象有四个基本特性:抽象、封装、继承、多态。这四个特性,概括起来可以这么理解,抽象、封装、继承是多态的基础,多态是抽象、封装、继承的表现。多态,是Java中非常重要的一个部分,所以今天来谈一下多态(Polymorphism)。什么是多态不同类的对象对同一消息作出不同的响应就叫做多态。就像上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好一样。多态的作用简单讲就是解耦。再详细点讲就是,多态是设计模式的基础,不能说所有的设计模式都使用到了多态,但是23

2022-03-06 07:41:54 98

原创 MySQL学习笔记

一、前言此文是对MySQL索引、性能优化、连接查询学习的记录二、索引学习资料:MySQL3:索引 - 五月的仓颉 - 博客园什么是索引索引是对数据库表中一列或者多列的值进行排序的一种结构,索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜索数据文件,而不必查看所有数据。索引的含义和特点索引是一个单独的、存储在磁盘上的数据

2022-03-02 08:10:04 328

原创 分布式学习笔记一

常见的分布式解决方案

2022-02-27 11:01:12 1298

原创 Redis学习笔记

一、基础篇1、什么是RedisRedis(Remote Dictionary Server)是一个使用C语言编写的,开源的(BSD许可)高性能非关系型的键值对数据库。1.1Redis基本数据结构Redis可以存储键和不同类型数据结构值之间的映射关系。键的类型只能是字符串,而值除了支持最基础的五种数据类型(String, List, Hash, Set, ZSet)外,还支持一些高级数据类型。1.2Redis小结与传统数据库不同的是Redis的数据是存储在内存中的,所以读写速度...

2022-01-26 22:43:01 911

原创 Spring IoC容器的初始化过程

IoC容器的初始化过程第一过程就是Resource定位过程。这个Resource定位指的是BeanDefinition的资源定位,它是由ResourceLoader通过统一的Resource接口来完成,这个Resource对各种形式的BeanDefinition的使用都提供了统一接口。比如,在文件系统中的Bean定义可以使用FileSystemResource来进行抽象;在类路径中的Bean定义信息可以使用ClassPathResource来使用,等等。这个定位过程类似于容器寻找数据的过...

2021-12-25 21:19:34 1140

原创 Java8中Stream的相关用法

Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。Stream有以下特性及优点: * 无存储。Stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或IO Channel等。 * 为函数式编程而生。对Stream的任何修改都不会修改背后的数据源,比如对Stream执行过滤操作并不会删除被过滤的元素,而是产生一个不包含被过滤元素的新Stream。 * 惰式执行。Stream上的操作并不

2021-12-19 20:05:55 505

转载 内置tomcat整合SpringMVC

spring MVC是一个基于MVC模式的表现层框架,在spring2.5以后增加了注解功能。使得开发变得更加高效、快捷。由于spring MVC是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合,可以达到无缝整合。 springMVC的特点有:    1、基于的是servlet/jsp模式 2、控制器不再需要继承其它类,只需要用@Controller注解    3、应用控制器方法参数,由前端控制器负责封装,方法签名...

2021-12-11 11:41:43 2422

原创 面向对象的五大基本原则

面对对象开发范式的最大好处就是易用、易扩展、易维护,但是,什么样的代码是易用、易扩展、易维护的呢?如何衡量他们呢?

2021-12-04 11:20:25 133

原创 Synchronized之原子性、可见性、有序性

Synchronized与原子性原子性是指一个操作是不可中断的,要全部执行完成,要不都不执行。在Java中为了保证原子性,提供了两个高级的字节码指令moniterenter和moniterexit。这两个码指令,在Java对应的关键字是Synchronized。线程1在执行moniterenter指令的时候,会对Monitor进行加锁,加锁后其它线程无法获得锁,除非线程1主动解锁。即使在执行过程中,由于某种原因,比如CPU时间片用完,线程1放弃了CPU,但是,他并没有进行解锁。而由于Synchr

2021-12-04 11:04:07 1202

原创 Synchronized用法及原理

本文就围绕Synchronized展开,主要介绍Synchronized的用法、Synchronized的原理。Synchronized用法Synchronized是Java提供的一个同步控制的关键字。主要有两种用法,分别是:同步代码块和同步方法。也就是说,Synchronized既可以修饰方法,也可以修饰代码块。被Synchronized修饰的方法或代码块,同一时间只能被单个线程访问。Synchronized的实现原理Synchronized,是Java中用于解决并发情况下数据同步的一个很

2021-11-25 22:59:47 474

原创 Java基础之面向对象

做码农已有好几年了,最近在重温Java基础知识,即然投入时间学习了就用文字记录下面向对象什么是面向对象和面向过程什么是面向过程面向过程是一种以过程为中心的编程思想,是一种自顶而下的编程方式。什么是面向对象简单来说,面向对象的开发范式中,程序员将问题分解成一个个步骤,将每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。就是说,在进行面向对象编程的时候,要把属性、行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。面向对象的编程方法之所以.

2021-10-23 15:38:21 68

原创 抽象类与接口学习笔记

抽象类与接口的区别 语法层次:    抽象类方式中,抽象类可以拥有任意范围的成员数据,同时也可以拥有自己的非抽象方法,但是接口方式中,它仅能够有静态、不能修改的成员数据(但是我们一般是不会在接口中使用成员数据),同时它所有的方法都必须是抽象的。在某种程度上来说,接口是抽象类的特殊化。    对子类而言,它只能继承一个抽象类(这是java为了数据安全而考虑的),但是却可以实现多个接口。 

2016-06-23 12:26:02 142

原创 设计模式学习笔记

软件设计原则 1 单一职责原则 2 开闭原则 3 里氏代换原则 4 依赖倒转原则 5 接口隔离原则 6 合成复用原则 7 迪米特法则(最少知道原则)设计模式一、创建型模式 1 抽象工厂模式 2 创造者模式 3 工厂方法模式 4 原型模式 5 单例模式   单例模式具备以下几个特点:1 只有一个实例;2 能够自我实例化 3 提供全局

2016-06-23 12:22:35 145

转载 java GET请求乱码问题

java  GET方式传递中文参数乱码需要用到 java.net.URLDecoder和 java.net.URLEncoder这两个类里面的decode("变量","UTF-8")和encode("中文","UTF-8"),这两个方法前一个是解码后一个是转码。注意:转码时要转两次,解码需要一次就能够解决中文参数乱码问题。URL传递参数时服务器会自动解码一次,然后我们拿到参数后再解码一次,所以转码

2016-06-16 11:53:39 250

struts2.0中文帮助手册.

Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码

2013-10-18

hibernate教程

创建Hibernate 的配置文件。 创建持久化类 创建对象-关系映射文件 通过Hibernate API 访问数据库的代码

2013-10-18

空空如也

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

TA关注的人

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