自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

swordsmanye的博客

Web前端从小白到大神的修炼手册

  • 博客(109)
  • 资源 (1)

原创 简单聊下java反射机制

JAVA反射机制是在运行状态中, 对于任意一个类都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。光这样子说可能有点抽象, 我们举个例子来说明一下.首先我们创建一个Robot类package com.daohewang.javabasic.reflect;public class Robot { private String name; public void sayHi(Stri

2020-05-14 22:23:18 76

转载 高效学习开源项目的五大步骤!

高效学习开源项目的五大步骤!得益于开源运动的蓬勃发展,众多技术顶尖的公司、团队或者个人通过开源的方式向技术社区贡献了许多优秀的开源项目,一方面大大促进了整体技术的发展,另一方面大大减轻了中小公司和团队在技术方面的投入压力,让团队能够更加聚焦于业务。开源项目对团队和业务有很大好处,但对于技术人员来说,如果只是简单的采取“拿来主义”,那就变成一个陷阱:看似很快的用开源项目实现了需求,但自己的技术水平并没有什么提升;甚至可能出现看起来用了很多开源项目,知道很多项目名称,但技术水平止步不前的窘境。因此,对于开

2020-05-10 15:34:07 98

转载 深入 Spring Boot :怎样排查 java.lang.ArrayStoreException

深入 Spring Boot :怎样排查 java.lang.ArrayStoreExceptionhengyunabc.github.io/spring-boot-ArrayStoreException/java.lang.ArrayStoreException 分析这个demo来说明怎样排查一个spring boot 1应用升级到spring boot 2时可能出现的java.lang.ArrayStoreException。demo地址:https://github.com/hengy

2020-05-10 15:32:28 136

转载 从权限控制到shiro框架的应用

权限管理基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。用户身份认证身份认证,就是判断一个用户是否为合法用户的处理过程。...

2020-04-26 00:03:06 158

原创 Shiro中Relam的概念

在 Shiro 中存在 Realm 这么个概念, Realm 这个单词翻译为 域,其实是非常难以理解的。域 是什么鬼?和权限有什么毛关系? 这个单词Shiro的作者用的非常不好,让人很难理解。那么 Realm 在 Shiro里到底扮演什么角色呢?当应用程序向 Shiro 提供了 账号和密码之后, Shiro 就会问 Realm 这个账号密码是否对, 如果对的话,其所对应的用户拥有哪些角色,哪...

2020-04-21 15:20:58 87

原创 谷歌搜索技巧

谷歌搜索技巧1. 更加全面地用 Google 搜索的最好方式是点击高级搜索。2. 它可以让你搜索更加精准的词组,“所有词组”或者是适当的搜索框里输入词组的某一个特定关键词。3. 在高级搜索里你依然可以自定义在一张页面上展示多少个搜索结果,你所寻找的信息语言和文件格式。4. “搜索以下网站或网域”可以让你通过输入一个顶级域名(如.http://co.uk)来限定搜索结果。5. ...

2020-04-05 16:11:30 109

原创 如何高效使用Github寻找开源项目

Git和GitHub什么关系?Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。git用来管理你的代码,可以对你的项目进行版本控制。github将你用git管理的项目放在网上,本地的一个个项目对应github上面的...

2020-04-05 14:21:24 172

原创 Servlet 与 Filter 执行原理

Servlet 的两个 Map当请求到达后,web 容器是如何查找 Servlet 的呢?其底层的执行原理是什么呢?当 Servlet 实例被创建好后,会将该 Servlet 实例的引用存放到一个 Map 集合中。该 Map集合的 key 为 URI,而 value 则为 Servlet 实例的引用,即 Map<String, Servlet>。当 Web 容器从用户请求中分离出 ...

2020-03-02 12:57:57 198

原创 MySql查询语法实现细节

MySql查询语法揭秘作为一名后端开发人员, 数据库可谓是与你如影随形, 但是天天和数据库打交道的你真的了解数据库么, 你写的每一条查询语句内部是怎么工作的你有没有了解过呢, 或许大多数的人只是停留在会用的阶段, 并不了解其实现细节. 如果SQL查询语句的实现细节不了解的话, 那么优化也无从说起, 所以下面就聊聊sql的查询细节.1. Mysql查询语法书写顺序SELECTFROMLE...

2020-02-26 19:48:53 127

转载 什么是覆盖索引?如何利用覆盖索引进行SQL语句优化?

如果你不知道什么是覆盖索引,那么SQL性能优化便无从谈起!什么是覆盖索引?如何利用索引进行SQL语句优化?表结构150多万的数据,这么一个简单的语句:慢查询日志里居然很多用了1秒的,Explain的结果是:从Explain的结果可以看出,查询已经使用了索引,但为什么还这么慢?分析:首先,该语句ORDER BY 使用了Using filesort文件排序,查询效率低;其次,查询字段...

2020-02-25 14:38:43 218

原创 java.lang.ClassNotFoundException: ${jdbc.driverClassName}

错误日志错误分析一 . 配置文件中 <context:property-placeholder location=“classpath:db.properties” /> 标签没有写这个错误相信看完错误日志大家都能找的到, 就不多赘述了. 错误的原因就是, 如果没有加上面的标签, 那么下面配置文件代码中的property标签中的value属性的值就仅仅是一个string类型的...

2020-02-22 14:15:19 706 1

原创 异常 : SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL]

简述今天整合ssm写了个文件上传的代码, 没想到给我报了个这个莫名奇妙的错, 于是倒腾了好一会, 特此记录错误信息SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]分析原因一 : 数据库的字段和输入的数据库的数据类型不匹配比如说,一个字段in...

2020-02-21 19:43:47 335

原创 mybatis 插入操作主键值获取

当前表支持主键自动增长在JDBC技术中,可以通过Statement接口中getGeneratedKeys()方法获得本次插入后得到自动增长主键值.MyBatis框架也采用这个技术.因此MyBatis在插入完毕后也可以获得本次插入数据id.做法如下<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC ...

2020-02-07 10:23:52 49

原创 单例设计模式 - 懒汉式和饿汉式

单例设计模式1. 作用: 在应用程序中保证最多只能有一个实例.2. 好处:提升运行效率.实现数据共享. 案例:application 对象 - tomcat启动时就创建,通过getServletContext()取出来懒汉式对象只有被调用时才去创建.示例代码 public class SingleTon { // 由于对象需要被静态方法调用,把方...

2020-01-26 18:52:32 73

原创 数字验证码自动生成 - Java

效果图验证码:<input type="text" size="1" name="code"/><img src="VerifyServlet" width="80" height="40"/><a href="">看不清</a><br/>VerifyServlet.javapackage com.daohewang.servl...

2020-01-07 23:46:33 106

原创 mybatis实现简单分页功能 - 完整代码版

实现效果图 :项目结构搭建代码实现1.数据库搭建CREATE DATABASE teachsysUSE teachsysCREATE TABLE teacher(id INT(10) PRIMARY KEY AUTO_INCREMENT,tname VARCHAR(20));INSERT INTO teacher VALUES(DEFAULT, 1);INSERT IN...

2020-01-05 10:22:12 191

原创 Java分页原理简介

Java分页原理分页目的数据方面 :减少带宽和网络资源降低浏览器渲染负荷用户体验方面更好的展示和查询信息网站常见分页样式采用传统的分页方式(后台常用),可以明确的获取数据信息,如有多少条数据分多少页显示等采用下拉式的分页方式(社交网络常用),一般无法获取明确的数据数量相关的信息但是在分页操作以后,仍然可以看到之前査询的数据常见的分页实现方式使用List接口...

2019-12-31 16:44:00 80 1

原创 Hibernate入门经典

Hibernate概述1.1 什么是Hibernatehibernate就是一个持久层的ORM框架,对JDBC做了封装,说的简单一点就是和Dao的功能类似,用来简化操作数据库的一个框架。1.2 什么是ORMORM:(Object Relational Mapping)对象关系映射,将Java中一个对象与数据库中的表建立映射关系,从而操作对象就可以操作数据库中的表。Hibernate入门...

2019-12-31 08:49:27 43

转载 教你如何配置Log4j.properties

一、 Log4j简介Log4j有三个主要的组件:Loggers(记录器):日志类别和级别;Appenders (输出源):日志要输出的地方;Layouts(布局):日志以何种形式输出1.1 LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN &lt...

2019-12-30 15:28:06 101

原创 三步教你启动redis - Linux

前提 : 必须明确你的redis存放在linux的哪个目录底下本人的redis存放在 usr/local/redis目录下第一步:首先查看是否已经开启了redis , 如果显示下面第①种情况的话证明没有开启, 那么我们可以继续往下看了,要是显示第②种情况证明已经开启了redisps -ef | grep -i redis①②第二步 :进入redis目录下cd /usr/...

2019-12-16 10:37:59 32

原创 linux命令之重启tomcat服务器

这里重启的条件是之前已经启动了tomcat服务器的情况下第一步:进入linux下tomcat目录 , 这里需要看你的tomcat配置在linux的哪个位置下,下面只是我个人的配置目录,不代表全部cd /usr/local/src/tomcat/bin第二步:查看当前启动的tomcat使用的进程, 通过查看,我们发现tomcat占用了1630端口ps -ef | grep tomc...

2019-12-16 10:22:40 124

转载 快速提高编程能力——一年时间可以改变很多

先说明一下,这篇文章写给那些本身是计算机专业但是由于前几年没有学习,到了大三、大四迷茫困惑不知道如何下手去学的同学,还有一些想学编程但是面对巨多的语言和技术不知道从何下手的新手朋友。假如你是我所说的这两种人,请你耐心看完这篇文章,它会帮你少走很多的弯路,一年的时间可以可变很多事。我虽然是计科专业但是由于种种原因也是没有听课,在自学的路上摸爬滚打,我大一没有学习,基本是玩了一年,大二懵懵懂懂的学了...

2019-12-14 20:58:10 53

原创 ffmpeg给视频添加背景音乐

In the end, it’s not the years in your life that count. It’s the life in your years.最终,重要的不是活了多少年,而是这些年你怎么活。 --林肯点到这里了相信你已经下载好了ffmpeg,对这个开源软件的介绍我也就不过多的赘述了,如果没有下载好的小伙伴们可以到官网去进行下载,下载地址:https://www....

2019-12-13 15:26:37 1656

原创 SecureCRT中文软码问题解决 - 史上最简单有效

SecureCRT中文软码问题相信是很多初学Linux同学都会遇到的问题, 第一时间肯定是头都要大了, 博主也是如此, 网上有很多的解决方案, 但是也是仁者见仁, 智者见智, 有些人用了适用, 相反有些人却又没用, 那叫一个烦躁. 是的, 我就是那个最不幸的人, 全网所有的方法我都尝试了一遍, 没有一个可行的. 但是该死的linux还是得学呀, 要想方便还不得下点苦工, 于是我煞费苦心, 苦心...

2019-11-23 11:52:20 59

原创 java.sql.SQLException: No suitable driver found

报错信息警告: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@23572610 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succ...

2019-11-11 12:12:06 64

原创 IntelliJ IDEA - Address localhost:1099 is already in use

报错信息解决办法1. TCP xxx.xx.xx.xx:1099 xx.xx.xx.xxx:443 ESTABLISHED 46642. taskkill /F /PID 4664

2019-10-28 09:38:58 173

原创 Servlet 中文乱码原理及解决方法

Generosity is its own form of power.别低估了慷慨的力量。——《纸牌屋》乱码原理:在整个Servlet访问过程中牵扯到 浏览器,Tomcat,Java程序三者浏览器默认编码方式:gbk,Tomcat默认编码:iso-8859-1 ,java代码中的编码一般常用utf-8造成乱码问题的原因只有一个:即客户端与服务端的字符编码不一...

2019-10-27 23:15:19 122

原创 servlet 重定向和请求转发区别

重定向Redirect的原理/*没有重定向时的跳转方法 *response.setStatus(302); *response.setHeader("Location", "login_success.html"); *///重定向写法: 重新定位方向 参数即跳转的位置response.sendRedirect("login_success.html");处理流程接受客户端的...

2019-10-27 22:15:06 56

转载 HTTP权威指南(浓缩版)

目录第一章 HTTP概述第二章 URL与资源第三章 HTTP报文第四章 连接管理第五章 web服务器第六章 代理第七章 缓存第八章 集成点:网关、隧道及中继第九章 Web机器人第十章 HTTP-NG第十一章 客户端识别与Cookie机制第十二章 基本认证机制第十三章 摘要认证第十四章 安全HTTP第十五章 实体和编码第十六章 国际化第十七章 内容协商与转码第十八章 Web主机托管第十九章 发布系统第二十章 重定向与负载均衡

2019-10-26 11:00:51 213

原创 LeetCode - 7. Reverse Integer 整数反转 (Java)

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。代码实现:c...

2019-10-25 10:11:56 47

原创 IDEA 报错 : 找不到包或者找不到符号

1.统一编码格式2. 重启

2019-10-21 18:46:03 184

原创 JDBC初探

If we did all the things we are capable of doing, we would literally astound ourselves.如果把我们能做到的都做了,最终连我们自己都会被吓到。##1. JDBC基础操作JAVA Database Connectivity java数据库连接为什么会出现JDBCSUN公司提供的一种数据库...

2019-10-18 17:33:14 42

原创 idea 配置Junit(史上最简单)

The difference between who you are and who you want to be is what you do.你是什么样的人和你想成为什么样的之间的差距就是,你做了什么。1. 首先C在你工程目录下建一个test文件夹2. 在test文件夹下创建一个测试类, 跟下面一样的格式. 这里要注意的是,我们创建的是测试类,所有不需要引入main函数, 但是...

2019-10-17 13:40:15 517

原创 Lambda表达式之方法引用和构造器引用

Lambda表达式的含义Lambda省去面向对象的条条框框,格式由3个部分组成:一些参数一个箭头一段代码Lambda表达式的标准格式为:(参数类型 参数名称) -> { 代码语句 }格式说明:( ):接口中的抽象方法的参数列表,无参数则留空,有参数就写出参数;多个参数则用逗号分隔。-> :是新引入的语法格式,代表指向动作,传递的意思,把小括号内的参数传递给后...

2019-09-15 20:00:42 94

原创 List接口如何实例化?(Java)

List接口初始化错误写法List<String> supplierNames = new List<String>();supplierNames.add("sup1");supplierNames.add("sup2");supplierNames.add("sup3");System.out.println(supplierNames.get(1));...

2019-09-15 19:15:20 604

原创 andThen和compose区别(Java)?

在辨别andThen和compose区别之前我们先来看一段简单的代码class FunctionTest { public static void main(String[] args) { Function<Integer, Integer> f = x -> x + 1; Function<Integer, Integer> g = x -> ...

2019-09-15 16:46:20 246

原创 GitHub以及StackOver flow访问速度慢解决方案

第一步: 找到windows系统内的Host文件,一般在 C:\Windows\System32\drivers\etc 目录下,右键获取管理员权限。第二步:在文件内添加以下代码即可192.30.253.112 github.com 185.199.111.153 assets-cdn.github.com 151.101.193.194 github.globa...

2019-09-15 15:12:33 2981

原创 埃拉托斯特尼筛法(Java实现)

维基百科:埃拉托斯特尼筛法 简称埃氏筛,也称素数筛。这是一种简单且历史悠久的筛法,用来找出一定范围内所有的素数。所使用的原理是从2开始,将每个素数的各个倍数,标记成合数。一个素数的各个倍数,是一个差为此素数本身的等差数列。此为这个筛法和试除法不同的关键之处,后者是以素数来测试每个待测数能否被整除。埃拉托斯特尼筛法是列出所有小素数最有效的方法之一,其名字来自于古希腊数学家埃拉托斯特尼,并且被...

2019-09-14 18:55:27 649

转载 java底层 —反射、动态代理

java底层 —反射、动态代理和注解1. 反射介绍1.1 反射反射是指程序可以访问,检测,修改它本身状态或行为的一种能力。1.2 java的反射机制java的反射机制是指在程序运行状态中,给定任意一个类,都可以获取到这个类的属性和方法;给定任意一个对象都可以调用这个对象的属性和方法,这种动态的获取类的信息和调用对象的方法的功能称之为java的反射机制。 一言以蔽之:反射机制可以让你在程...

2019-09-05 22:32:54 89

原创 自建反射修改属性方法:setProperty

方法介绍可将属性名为propertyName的属性值设置为valueclass Tool {/**des: 此方法可将属性名为propertyName的属性值设置为value * * @param obj : 相当于学生对象 * @param propertyName : 相当于学生对象的name或者age属性 * @param value :要修...

2019-09-04 11:55:30 210

32单片机单个按键控制LED灯两种状态

32单片机单个按键控制LED灯两种状态,实现按键的复用,

2018-04-08

空空如也

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