java学习
嵩园
这个作者很懒,什么都没留下…
展开
-
Java 8 新特性 -- Lambda表达式
一. Lambda表达式 Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。Lambda 表达式是在Java 8中引入的,并且成为了Java 8最大...原创 2018-11-21 20:33:09 · 260 阅读 · 0 评论 -
Java 8 新特性 -- 函数式编程
一. 简介 函数式编程并不是Java新提出的概念,其与指令编程相比,强调函数的计算比指令的计算更重要;与过程化编程相比,其中函数的计算可以随时调用。在Java8出现之前,我们关注的往往是某一类对象应该具有什么样的属性,当然这也是面向对象的核心--对数据进行抽象。但是java8出现以后,这一点开始出现变化,似乎在某种场景下,更加关注某一类共有的行为(这似乎与之前的接口有些类似),这也就...原创 2018-11-21 21:22:53 · 210 阅读 · 0 评论 -
Java发送HTTP POST/GET请求
使用java.net包发送HTTP POST和GET请求的Java代码如下:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java...原创 2018-11-28 10:34:40 · 13580 阅读 · 2 评论 -
Java实现导出Excel
本文将介绍在Java Web中使用Apache POI实现管理系统中常见的导出Excel功能。 首先在pom.xml中导入poi的依赖包:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <ve...原创 2018-12-08 16:10:39 · 5396 阅读 · 10 评论 -
Java内部类
一. 内部类简介 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。《Thinking in Java》里面讲到:“使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响”。使用内部类最大的优点是它能够非常好的解决多重继承的问题。 内部类有如下特性:...原创 2018-12-25 14:53:00 · 137 阅读 · 0 评论 -
基于JDK命令行工具的Java性能监控
一.JVM的参数类型1. 标准参数-help -server -client -version -showversion -cp -classpath2. 非标准化参数 (X参数)-Xint:解释执行 java -Xint version -Xcomp:第一次使用就编译成本地代码 java -Xcomp version -Xmixed:混合模式,JVM自己来决定是否编译...原创 2019-05-14 12:15:34 · 320 阅读 · 0 评论 -
Java线程安全性
在Java中,线程安全性是指:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替进行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。 线程安全性体现在三个方面:原子性、可见性、有序性。一. 原子性 原子性提供了互斥访问,同一时刻只能有一个线程来对它进行操作。 保...原创 2019-05-23 17:17:45 · 570 阅读 · 0 评论 -
Java线程安全性中的对象发布和逸出
发布(Publish)和逸出(Escape)是Java并发编程中需要注意的问题。 “发布”,简单来说就是提供一个对象的引用给作用域之外的代码。比如return一个对象,或者作为参数传递到其他类的方法中。 “逸出”,是指如果一个类还没有构造结束就已经提供给了外部代码一个对象引用即发布了该对象,此时叫做对象逸出,对象的逸出会破坏线程的安全性。 下面代码...原创 2019-06-30 15:17:56 · 217 阅读 · 0 评论 -
Java JUC主要内容
JUC包是每个Java开发工程师学习并发需要掌握的内容,主要内容如下图:原创 2019-07-06 11:34:15 · 2322 阅读 · 1 评论 -
HSF主要内容
一.简介 HSF (High-speed Service Framework),高速服务框架,是在阿里巴巴内部广泛使用的分布式 RPC 服务框架。其产品架构如下:① 地址注册中心 HSF 依赖注册中心进行服务发现,如果没有注册中心,HSF只能完成简单的点对点调用。因为作为服务提供端,没有办法将自己的服务信息对外发布,让外界知晓;作为服务消费端,可能已经知道需要调用的服务...原创 2019-08-22 14:17:10 · 981 阅读 · 0 评论 -
Java虚拟机(JVM) | 第二篇:垃圾回收中判断可触及性
一. 简介 垃圾回收(Garbage Collection,简称GC),是Java体系最重要的组成成分之一。GC中的垃圾,特指存在于内存中的、不会再被使用的对象,而“回收”,也相当于把垃圾桶“倒掉”,这样内存空间里就会有空闲的区域被腾出来。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占用的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。如果大量不会被使用的...原创 2018-09-28 16:49:05 · 230 阅读 · 0 评论 -
Shiro 身份认证实现
一. 身份认证 身份验证,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名 / 密码来证明。 在 shiro 中,用户需要提供 principals (身份)和 credentials(证明)给 shiro,从而应用能验证用户身份: ①principals:身份,即主体的标识属性,可以是任何东西,...原创 2018-09-27 21:44:39 · 424 阅读 · 0 评论 -
JavaMail实现邮箱验证码
笔者最近在学习系统登录使用的邮箱验证码的功能实现,下面给出使用JavaMail实现发送邮箱验证码的代码。本代码使用的是163的邮件服务器,可以根据需要更换别的服务器。import java.util.Arrays;import java.util.Properties;import java.util.Random;import javax.mail.Address;import j原创 2017-06-26 16:17:00 · 2080 阅读 · 2 评论 -
Java实现验证码(上)
利用Java实现验证码功能原创 2016-09-29 23:16:36 · 4428 阅读 · 0 评论 -
Java实现验证码(下)
Java实现验证码下篇,实现中文验证码跟算术验证码原创 2016-09-30 14:43:09 · 4885 阅读 · 0 评论 -
Java Object类详解
一. Object类介绍 java.lang.Object类是所有类的父类,每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。可以使用类型为Object的变量指向任意类型的对象。 Object类提供了多个方法,具体如下: 1. public Object原创 2017-08-09 21:18:25 · 726 阅读 · 0 评论 -
Shiro 授权实现
一. 授权授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体:即访问应用的用户,在 Shiro 中使用 Subject 代表该用户。用户只有授权后才允许访问相应的资源。资源:在应用中用户可以访问的任何东西,比如访问 J原创 2017-09-28 08:56:17 · 522 阅读 · 0 评论 -
Java知识点记录
写在前面:从今天起,笔者会将在学习中碰到的一些重要的Java知识点记录下来,以便以后复习回顾。一些内容较多且比较复杂的笔者会单独写成一篇博客,对于一些零零碎碎的知识点就直接记录在本篇文章中。本文会一直持续更新。由于时间先后顺序的关系,笔者会将不同方面的知识点直接继续记录在文章末尾,这样过一段时间文章内容可能会比较乱。如果有必要,笔者会每过一段时间整理一下。1. String...原创 2017-08-28 20:29:18 · 444 阅读 · 0 评论 -
Java集合框架
Java集合框架包括很多集合类: List: ArrayList, LinkedList, Vector, Stack Set: HashSet, LinkedHashSet, TreeSet Queue: PriorityQueue, ArrayDeque Map: HashMap, LinkedHashMap, TreeMap, H...原创 2017-11-27 17:11:07 · 186 阅读 · 0 评论 -
Java代理
代理Proxy: Proxy代理模式是一种结构型设计模式,提供了对目标对象另外的访问方式,即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。代理模式的关键点是代理对象与目标对象,代理对象是对目标对象的扩展,并会调用目标对象。 按照代理的创建时期,代理类可以分为两种: ①静态:由程序员创...原创 2018-08-02 21:05:17 · 613 阅读 · 0 评论 -
Java字符串
我们在使用Java字符串时通常使用String、StringBuilder和StringBuffer这三个,这三个字符串处理类之间的区别如下:一. 字符串连接效率 在大部分情况下,字符串的拼接速度为:StringBuilder>StringBuffer>String。 String是不可变的,因此每次对其操作改变其变量值,其实是生...原创 2018-08-02 21:34:48 · 133 阅读 · 0 评论 -
Java虚拟机(JVM) | 第一篇:内存结构
一. JVM内存模型 从上图可以知道,JVM的内存模型包括方法区、虚拟机栈、本地方法栈、堆以及程序计数器。二. 详细介绍1. 方法区 方法区是一块所有线程共享的内存区域,用于存储虚拟机加载的类信息,比如类的字段、方法、常量池(用于存放编译器生成的各种符号引用)、静态变量、以及编译器编译后的代码等。 在JDK 1.6、JDK 1.7中...原创 2018-09-21 21:37:44 · 210 阅读 · 0 评论 -
Tair学习
一.简介 Tair是一个高性能、分布式、可扩展、高可靠的Key-Value nosql结构存储系统,专注于高速缓存场景。 Tair有三种类型mdb,ldb,rdb: (1) mdb是定位于cache缓存,类似于memcache的一个支持kv 内存缓存框架 (2) rdb是 定位于cache缓存,采用了redis的内存存储结构的一个支持kv、list等复杂数据结构...原创 2019-08-22 14:18:23 · 7631 阅读 · 0 评论