自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夜半时分看世界

今天的坚持就是明天的成功

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

原创 运行时数据区

java 与 c/c++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来.对于 java 程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写配对的 delete/free 代码,不容易出 现内存泄漏和内存溢出.有虚拟机管理内存,这一切看起来都很美好.但是,也正因为 java 程序员把内存控制的权...

2019-11-30 19:49:36 153

原创 JVM

1.认识Java虚拟机2.类加载机制3.运行时数据区4.垃圾回收器和内存分配策略5.虚拟机性能监控和检测

2019-11-30 17:03:31 129

原创 垃圾回收器和内存分配策略

垃圾回收器和内存分配策略

2019-11-30 17:01:15 129

原创 类加载机制

1.什么是类加载 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的 java 类 型,这就是虚拟机的类加载机制. 与那些在编译时需要进行连接工作的语言不同,在 java 语言中,类型的加载,连接和初始化过程都是在程序运行期间完成的,这种策 略虽然会令类加载时稍微增加一些性能开销,但是会为 java 应...

2019-11-30 16:58:53 112

原创 认识 Java 虚拟机

1.Java 跨平台原理 JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过 在实际的计算机上仿真模拟各种计算机功能来实现的. JVM 将自身定位于字节码和底层平台之间.运行程序的物理机器的情况千差万别,而 Java 虚拟机则在千差万别的物理机上建立了统 一的运行平台....

2019-11-30 16:57:30 171

转载 java限流

高并发访问时,缓存、限流、降级往往是系统的利剑,在互联网蓬勃发展的时期,经常会面临因用户暴涨导致的请求不可用的情况,甚至引发连锁反映导致整个系统崩溃。这个时候常见的解决方案之一就是限流了,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等...限流算法介绍a、令牌桶算法令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶...

2019-11-24 13:19:31 1289

原创 JavaEE知识点

在ProcessOn上看到了这个整理的不错的思维导图,分享一下,可以根据思维导图复习巩固自己的基础。

2019-11-08 01:00:15 113

原创 WebScoket聊天室Springboot版

本文是基于注释的案例,对于发送语音采用了类似文件上传下载一样的方式实现,不过播放会有一点儿延迟,正在改进。1、首先导入webScoket相关的jar<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websoc...

2019-04-28 20:02:57 279

原创 Linux配置两个Tomcat

1、首先需要查看jdk环境变量是否配置好,jdk环境变量没有配置也可以用Java -version来查看版本信息如果没有安装jdk则需要先下载jdk再配置号jdk环境变量具体下载配置如下:jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html在根目...

2019-04-16 17:35:58 1054

原创 Java获取IP

package com.fun.framework.utils;import java.util.Date;import javax.servlet.http.HttpServletRequest;import org.springframework.core.io.ClassPathResource;import org.springframework.web.context.r...

2018-09-20 13:04:44 154

原创 java自定义注解

import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @Inherited允许子类继承父类中的注解 * @Doc...

2018-09-20 12:16:39 348 2

原创 Java手机验证码

private final OkHttpClient client = new OkHttpClient.Builder().connectTimeout(3, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).retryOnConnectionFailure(false).build(); private final String...

2018-09-17 13:50:33 209

原创 Java头像上传

@RequestMapping(path = { "/user-img-upload" }, method = { RequestMethod.POST }) public AjaxReturn fileUpload2(HttpServletRequest request,@RequestParam("file") MultipartFile file,String account){...

2018-09-02 18:39:21 856

原创 java判断手机号是否合法

import java.util.regex.Matcher;import java.util.regex.Pattern;public class PhoneUtil { /** * 验证手机号是否合法 * @return */ public static boolean isMobileNO(String mobile){ ...

2018-09-01 15:20:18 11606 4

原创 Java集成融云服务端

复制官方demo中pom中的jar资源位置登录controller(登录时获取融云提供得token,通过用户账户当作融云获取token得ID)融云用户关系需要自己实现import java.util.*;import java.util.concurrent.TimeUnit;import javax.servlet.http.HttpServletRequest;impo...

2018-08-28 17:36:18 2967 7

原创 Java极光服务端对接

首先在项目中引入极光的相关jar包import cn.jiguang.common.resp.APIConnectionException;import cn.jiguang.common.resp.APIRequestException;import cn.jpush.api.JPushClient;import cn.jpush.api.push.PushResult;import...

2018-08-28 17:21:53 1122

转载 StringUtils用法

/*1.字符串以prefix开始*/StringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","s");//结果是:trueStringUtils.startsWith("sssdf",&

2018-07-03 15:40:26 3054

原创 JavaExcel导出

@RequestMapping(path = { "api-mem-info-export" }, method = { RequestMethod.POST }) public ResponseEntity&lt;byte[]&gt; ddd(HttpServletRequest request) throws BusinessException{ MemUserInfo memUserI...

2018-06-21 14:33:49 127

原创 java文件上传

    &lt;form name="Form2" action="/api-mem-info.json" method="post"  enctype="multipart/form-data"&gt; &lt;h1&gt;采用multipart提供的file.transfer方法上传文件&lt;/h1&gt; &lt;input type="file&quot

2018-06-21 14:32:03 98

原创 Java读取Excel

用Java读取Excel需要导入相关的包。下面是项目中用到的jar包。具体的代码如下:public Map&lt;String, String&gt; Upload(HttpServletRequest request) throws FileUploadException, IOException { Map&lt;String, String&gt; result = new HashMap...

2018-06-08 17:04:46 260

转载 Boolean.valueOf(true)和true的区别

出处:http://blog.csdn.net/leixiaotao_java/article/details/546181301.Boolean是boolean的封装类,扩展了很多方法。2.true存储空间为一个字节。需要产生Boolean类型实例,开辟新的内存空间,然后取boolean value。3.Boolean.valueOf(true)返回一个Boo

2018-02-02 14:26:02 3983 2

转载 NumberUtils.toInt和Integer.valueOf的区别

(1):Integer ad_id = NumberUtils.toInt(map.get("ad_id"), 0);(2):Integer ad_id = Integer.valueOf(map.get("ad_id"))第二种若转换不成Integer就会报错;而第一种不会,而且可以设置默认值;如下:

2018-02-02 14:16:37 1384

转载 Spring boot 拦截器

本文来自:http://blog.csdn.net/catoop/article/details/71541612仅为方便自己参考学习常用用于实现拦截的有:Filter、HandlerInterceptor、MethodInterceptor第一种Filter属于Servlet提供的,后两者是Spring提供的,HandlerInterceptor属于Spring MVC项目提

2018-01-01 22:25:26 156

转载 java排序算法

冒泡排序主要思想:外层循环从1到n-1,内循环从当前外层的元素的下一个位置开始,依次和外层的元素比较,出现逆序就交换。 特点:stable sort(稳定性排序)、In-place sort(不占用额外的空间,只是交换元素) 最优复杂度:当输入数组就是排好序的时候,复杂度为O(n),而快速排序在这种情况下会产生O(n^2)的复杂度。 最差复杂度:当输入数组为倒序时,复杂度为O(

2017-11-22 15:49:47 173

转载 23种设计模式(四)

出处:http://blog.csdn.net/zhangerqing其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT、JDBC、集合类、IO管道或者是Web框架,里面设计模式无处不在。因为我们篇幅有限,很难讲每一个设计模式都讲的很详细,不过我会尽我所能,尽量在有限的空间和篇幅内

2017-11-20 21:03:27 139

转载 23种设计模式(三)

出处:http://blog.csdn.net/zhangerqing先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类13、策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一

2017-11-20 21:01:59 119

转载 23种设计模式(二)

出处:http://blog.csdn.net/zhangerqing我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:6、适配器模式(Adapter) 适配器模式将某个类的接口转换成客户端期望的另一

2017-11-20 20:59:53 113

转载 23种设计模式(一)

转载出处:http://blog.csdn.net/zhangerqing  设计模式(Design Patterns)                                  ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解

2017-11-20 20:57:06 187

转载 JAVA中获取文件MD5值的四种方法

JAVA中获取文件MD5值的四种方法  JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现。获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过MessageDigest类进行MD5加密,第三步转换成16进制的MD5码值。几种方法的不同点主要在第一步和第三步上。具体可以看下面的例子:

2017-11-15 11:11:24 79811 5

转载 Spring AOP详解

Spring AOP详解一.前言    在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编

2017-11-14 16:55:57 135

转载 Java 中使用 Redis

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String

2017-11-14 15:53:22 422

转载 简单应用shiro

一、架构要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器,它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例:(1)使用用户的登录信息创建令牌UsernamePasswordToken token = new UsernamePasswordToken(username

2017-11-14 15:08:07 203

原创 常用Linux命令

1. linux目录结构目录名目录作用/bin存放系统命令,普通用户和超级用户(root)都可以执行,在单用户模式下也可以执行/sbin存放系统环境设置相关的命令,只有超级用户(root)可以使用这些命令/usr/bin存放系统命令,普通用户和超级用户(root)。这

2017-11-10 19:34:07 477

原创 Socket编程

Socket编程1. Socket简介Socket通常称作“套接字”,用于描述IP和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提各种服务。每种服务都打开一个socket,并绑定到一个端口上,不同的端口对应于不同的服务。2. Socket编程网络编程就是直接或间接的通过网络协议与其他计算机进行通信。其中最重要的两点:1.如何准确定位到网络

2017-11-10 17:12:55 231

原创 什么是XML

XML1. XML1.1 什么是XMLXML(Extensible Markup Language)可扩展标记语言,被设计用来传输和存储数据。XML是独立于软件和硬件的信息传输工具。XML标签可以由用户自定义。1.2 XML文档实例xml version="1.0" encoding="UTF-8"?>books>  book category="小说"

2017-11-10 16:22:34 163

转载 jackson 实体转json 为NULL或者为空不参加序列化

jackson 实体转json 为NULL或者为空不参加序列化1.实体上@JsonInclude(Include.NON_NULL) //将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include.Include.ALWAYS 默认 //Include.NON_DEFAULT 属性为默认值不序列

2017-11-09 19:18:42 665

原创 Mybatis入门

  Mybatis一、mybatis介绍  mybatis是一个优秀的持久层框架,对jdbc操作数据库的过程进行封装,开发人员 只需要关注sql本身。mybatis支持普通sql查询,存储过程和高级映射。可以使用简单 的xml或注解配置,将java对象和sql映射生成最终执行的sql语句,最后由mybatis框架 执行sql并将结果映射成java对象返回。 ①myb

2017-10-27 09:13:49 264

原创 springIOC简述

1、spring概述 spring是一个开源的设计层面框架,解决的是业务逻辑和其他各层的松耦合问题,因为他将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。 spring框架由很多模块组成,IO

2017-10-26 20:14:00 577

转载 java线程 同步与异步

java线程 同步与异步1)多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,加在多线程并发时资源挣夺最激烈的地方,这就实现了线程的同步机制同步:A

2017-10-25 21:57:56 340

原创 spring事物管理

事物1、事物介绍      事物事逻辑上的一组操作,组成这组操作的各个逻辑元素单元,要么一起成功,要么一起失败。1.1 事物的特性    原子性(atomicity):一个事物事一个不可分割的工作单位。    一致性(consistency):事物必须是数据从一个一致性状态变成到另一个一致性状态。    隔离性(isolation):一个事物的执行不能被其他事物干扰,一个事

2017-10-25 19:27:20 164

空空如也

空空如也

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

TA关注的人

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