自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 收藏
  • 关注

原创 结构化开发方法——用户界面设计

用户界面的作用用户界面(UI)设计在【人】与【计算机】之间搭建了一个有效的【交流媒介】。用户界面有多重要? 1. 没有用户界面的计算机![在这里插入图片描述](https://img-blog.csdnimg.cn/b254a13b789741018ff796c6d6e3e01c.gif#pic_center) 2. 有用户界面的计算机在没有用户界面(UI)的时代,要想使用计算机,需要学习各种命令,通过输入命令与计算机进行交互(对话),很显然,对于个

2021-10-12 16:36:52 1038

原创 java 字节码分析工具 jclasslib 包含idea安装jclasslib插件

jclasslib git地址:https://github.com/ingokegel/jclasslib1. idea 安装使用打开idea 中的settings > plugins 搜索 jclasslib 插件 进行安装 重启生效重启后点击view> 选择show bytecode with jclasslib可以看到字节码视图了使用win 工具 jclasslib下载地址 github上有...

2021-03-24 10:35:53 343

原创 阿里巴巴JVM调优工具arthas

下载下载全量包从Maven仓库下载最新版本,点击下载:从Github Releases页下载https://github.com/alibaba/arthas/releases用as.sh启动解压后,在文件夹里有as.sh,直接用./as.sh的方式启动:./as.sh打印帮助信息:./as.sh -h用arthas-boot启动或者在解压后,在文件夹里有arthas-boot.jar,直接用java -jar的方式启动:java -jar arth

2021-03-22 17:28:22 1776

原创 Java程序运行流程

2021-03-22 16:08:19 141

原创 JDK体系结构

2021-03-22 15:59:35 466

转载 jvisualvm安装Visual GC插件

给jdk自带的jvisualvm安装Visual GC插件,遇到We're sorry the java.net site has closed(我们很抱歉java.net网站已经关闭)1、找到新的更新地址visualvm新访问地址:https://visualvm.github.io/index.html进入“Plugins”,找到对应自己JDK版本的更新地址2、进入jvisualvm的插件管理"工具" - "插件"在"设置"中修改url地址为刚才我们在github上找到的

2021-03-22 13:54:32 124

原创 JVM指令码 手册

将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈lconst_0 将long类型常量0压入栈lconst_1 将long类型常量1压入栈fconst_0 将float类型常量

2021-03-19 16:53:09 81

原创 手机还可以这么玩--css3绘制苹果手机

<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X...

2019-10-15 12:43:23 519

原创 Spring Cloud分布式微服务架构图

Spring Cloud分布式微服务架构图

2019-06-30 17:47:38 587

转载 为你的项目配置Maven私服Nexus

一、Nexus简介1、Nexus概述Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus使用ExtJS来开发界面,利用Restlet来提供完整的RE...

2019-03-14 10:28:20 295

转载 SpringMVC实战中权限管理详解

1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet。 DispatcherServlet是【前置控制器】,配置在web.xml文件中的。 拦截匹配的请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据某某规则分发到目标Controller来处...

2019-03-14 10:27:24 251

转载 GitHub上最受欢迎的5大Java项目

GitHub上有很多Java项目。(准确地说,大概是744K个)。但是开发人员最兴奋的是哪些项目?今天,我们来看看GitHub上一些最流行的Java仓库。1. MockitoMockito 并不是无酒精混合饮料的意思。Mockito 是一个用Java编写的单元测试框架,Mockito 2.0为高级框架集成提供了更好的API。这不是针对编写单元测试的用户,而是针对需要使用定制逻辑扩展或包装M...

2019-03-14 10:26:43 1010

原创 《深入理解mybatis原理》 Mybatis初始化机制详解

对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。1.MyBatis的初始化做了什么 2.MyBatis基于XML配置文件创建Configuration对象的过程 3.手动加载XML配置文件创建Configuration对象完成初始化,创建并使用SqlSessionFactory对象 4.涉及到的设计模式...

2019-03-14 10:25:23 124

转载 面试 Java 高级后端开发,要准备哪些知识点?

根据我的面试体会,不少同学收到面试后,什么准备也不会做,到时候就来了。这样做的后果是:不知彼,不知己,每战必殆。哪怕侥幸面试成,工资一定会被压得很低。其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的。在技术面试的时间段里(最长1个小时),你如果能展现你的优势那是最好的,但如果你做不到这点,简单点,让面试官感觉你达到了最低标...

2019-03-12 10:06:36 165

原创 IDEA+Tomcat+Maven项目完整环境搭建

前言目前很多项目都是使用maven来管理jar包,这样就不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven就会帮助我们自动下载,非常简单方便。当然我们使用maven也只是最基本的,很多其他功能都没有使用到,本篇文章仅是介绍如何创建一个maven项目。一、新建maven项目步骤1:首先要先创建一个project,也就是创建一个maven的工作空间...

2019-03-12 10:06:22 715

原创 Java中创建对象的5种方式

作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象。然而这里有很多创建对象的方法,我们会在这篇文章中学到。Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码如果你运行了末尾的的程序,你会发现方法1,2,3用构造函数创建对象,方法4,5没有调用构造函数。1.使用new关键字这是最常见也是最简单的创建对象的方式了。通...

2019-03-12 10:05:52 138

转载 46 道阿里的Java 面试题,你会几道?

做技术的有一种资历,叫做通过了阿里的面试。这些阿里Java相关问题,都是之前通过不断优秀人才的铺垫总结的,先自己弄懂了再去阿里面试,不然就是去丢脸,被虐。希望对大家帮助,祝面试成功,有个更好的职业规划。一、面试常见问题1、微信红包怎么实现。2、海量数据分析。3、测试职位问的线程安全和非线程安全。4、HTTP2.0、thrift。5、面试电话沟通可能先让自我介绍。...

2019-03-12 10:05:04 180

原创 Spring中注解大全和应用

1、@Controller2、@RestController:3、@Service4、@Autowired5、@RequestMapping6、@RequestParam7、@ModelAttribute8、@Cacheable9、@CacheEvict10、@Resource11、@PostConstruct12、@PreDestroy13、@R...

2019-03-12 10:04:26 194

转载 MySQL 通用查询日志和慢查询日志分析

MySQL中的日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志。1、通用查询日志:记录建立的客户端连接和执行的语句。2、慢查询日志:记录所有执行时间超过longquerytime秒的所有查询或者不使用索引的查询一、通用查询日志在学习通用日志查询时,需要知道两个数据库中的常用命令:1) show vari...

2019-03-12 10:04:06 189

原创 教你88秒插入1000万条数据到mysql数据库表

我用到的数据库为,mysql数据库5.7版本的 首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 &gt; 4194304). You...

2019-03-12 10:03:45 741

转载 2018年阿里巴巴关于java重要开源项目汇总

1.分布式应用服务开发的一站式解决方案 Spring Cloud AlibabaSpring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spr...

2019-03-11 09:58:52 213

原创 【教程汇总】SpringMVC学习教程汇总

SpringMVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,SpringMVC框架帮助我们简化了日常Web开发。今天小编将写的关于SpringMVC学习教程的文章整理汇总了一下,方便大家阅读。1、SpringMVC学习(1):快速入门2、SpringMVC学习(...

2019-03-11 09:58:39 312

原创 SpringMVC学习(1):快速入门

前言:SpringMVC是什么? 在介绍什么是 SpringMVC 之前,我们先看看 Spring 的基本架构。如下图: 我们可以看到,在 Spring 的基本架构中,红色圈起来的 Spring Web MVC ,也就是本系列的主角 SpringMVC,是Spring框架的一个分支产品,以SpringIOC容器为基础,并利用容器的特性来简化它的配置。SpringMVC相当于Spri...

2019-03-11 09:58:31 107

原创 SpringMVC学习(2):常用注解

前言spring以及包括springmvc在内的子项目提倡使用注解开发。使用了注解开发一段时间后发现,确实快捷方便。下面讲解在使用springMVC框架时,一些常用的注解。这些功能强大的注解在大大简化了代码开发的同时也提升程序的可扩展性。@Controller@Controller 用于标记在一个类上,用于定义类的注解,使用它标记的类就是一个Controller 对象。@Contr...

2019-03-11 09:58:20 205

原创 SpringMVC学习(3):数据绑定

前言什么是数据绑定?在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据与后台方法参数建立连接的过程就是Spring MVC中的数据绑定。数据绑定的过程在数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋给控制...

2019-03-11 09:58:06 144

原创 SpringMVC学习(4):模型数据处理

前言SpringMVC框架作为一个MVC框架,很重要的一项工作是在控制器获取模型数据并返回给客户端,即在JSP页面展示模型数据,使用的技术是通过EL表达式从域对象中取值。JSP四大作用域对应的四个内置对象分别是 request,session,pageContext,application。开发中经常用到的域对象是request和session,pageContext和applicatio...

2019-03-11 09:57:50 161

原创 SpringMVC学习(5):自定义数据转换器

前言在前面的章节我们学习过使用SpringMVC框架进行web开发,前端页面传输的数据会由HandlerAdapter组件自动封装到业务方法的参数中。在http表单中的所有请求参数都是String类型的,如果业务参数是String或者int类型,HandlerAdapter会自动完成数据转换,但是如果参数是其他数据类型,比如Date类型,HandlerAdapter是不会将String类型...

2019-03-11 09:57:31 214

原创 SpringMVC学习(6):文件上传与下载

前言文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 设置了enctype为multipart/form-data,浏览器才会采用二进制流的方式来处理表单数据,而对于文件上传的处理则涉及在服务器端解析原始的HTTP响应...

2019-03-11 09:57:20 163

原创 SpringMVC学习(7):数据校验

前言数据的校验是交互网站一个必不可缺的的功能,前端的js校验可以涵盖大部分的校验职责,但是有的用户会绕过浏览器使用http请求工具直接向后端请求一些违法数据,为了防止这种脏数据落到数据库中的情况,服务端的数据校验也是必要的。自定义数据校验基于Validator接口的方式需要自定义Validator验证器,每一条数据的验证规则需要自己手动完成。1、创建实体类Adminpacka...

2019-03-11 09:57:05 146

转载 Github上 10 个开源免费且优秀的后台控制面板

Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集了一些优秀的后台控制面板,并总结得出 Top 10。AdminLTEGithub Star 数 24969 , Github 地址:https://github.com/almasaeed20...

2019-03-11 09:56:43 115

缓存穿透、缓存击穿、缓存雪崩解决方案分析

一、前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。二、缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。三、解...

2019-03-10 23:11:36 84

转载 Maven的这三个用法你一定要会!

本文中将介绍maven的自定义插件(入门实战)自定义archeType模板(实战)按环境打包(实战)三个在私服中常常需用的操作。1、自定义archeType模板1.1、什么是archeType我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。或者使用mvn archetype:generate命令来快速创建maven项目,也会有很多个选项,让你选择模板...

2019-03-10 16:50:45 112

转载 超详细的 Git 实战教程

导读因为教程详细,所以行文有些长,新手边看边操作效果出乎你的预料。GitHub虽然有些许改版,但并无大碍。一、Git是什么Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程:Workspace:工作区Index/Stage:暂存区Repository:本地仓库区Remote:远程仓库二、SVN与Git的区别SVN是集中式版本控制系统,版本...

2019-03-10 16:36:25 1370

转载 SpringBoot 创建定时任务(配合数据库动态执行)

序言创建定时任务非常简单,主要有两种创建方式:一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer). 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就大派用场了。一、静态定时任务(基于注解)基于注解来创建定时任务非常简单,只需几行代码便可完成。@Scheduled除了...

2019-03-10 15:08:43 4254 4

转载 SpringBoot 发送邮件和附件

基础知识• 什么是SMTP?SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。• 什么是IMAP?IMAP全称为Internet Message Access Protocol(互联...

2019-03-10 15:02:41 1412

转载 MySQL 详细学习笔记(值得学习与收藏)

Windows服务 --启动Mysql net start mysql--创建Windows服务 sccreatemysqlbinPath=mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql-h地址-P端口-u用户名-p密码 SHOWPROCESSLIST--显示哪些线程正在运行...

2019-03-10 14:57:34 310

转载 Linux常用Shell脚本,值得学习及收藏

在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本。如何学好脚本,最关键的是就是大量的练习 和实践。根据以下脚本我们可以拓展,这样我们提高的很快!举一反三!1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。参考程序:#!/bi...

2019-03-10 14:42:01 180

转载 对接【支付宝】支付接口,快速掌握支付开发!

场景最近在做支付宝的接口对接,之前做过一个版本,但是由于申请了新的账号以前旧的的接口对接就不能使用了所以就开始对接新的版本接口对接,在这里也记录一下让那些还没有对接的兄弟少走点弯路。准备先申请一个企业账户https://memberprod.alipay.com/account/reg/enterpriseIndex.htm创建应用去支付宝的开放平台https://o...

2019-03-10 14:30:13 249

转载 常问的22道Java面试题,值得收藏

1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet)List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)|-- ArrayList:底层是数组结构,特点是:查询很快,增删稍微慢点,线程不同步:A线程将元素放在索引0位置,CPU调度线程A停止,B运行,也将元素放在索引0位置,当A和B同时...

2019-03-10 14:22:12 170

原创 SpringBoot 快速整合Mybatis(去XML化+注解进阶)

一. 基础注解MyBatis 主要提供了以下CRUD注解:@Select@Insert@Update@Delete增删改查占据了绝大部分的业务操作,掌握这些基础注解的使用还是很有必要的,例如下面这段代码无需XML即可完成数据查询:@MapperpublicinterfaceUserMapper{@Select("select*fromt_user")...

2019-03-10 00:34:04 300 1

空空如也

空空如也

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

TA关注的人

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