自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

抛弃幻想,准备斗争

博客打算做调整,主攻技术总结,不发牢骚。

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

原创 面试官问你:说说“==”、equals、hashCode三者关系

面试题:请谈谈”==“和equals的区别。“==” 介绍"==“是一个判断符号,作用就是判断对象地址是否相等,在此之前我们曾经探讨过一个话题,在Java中是值传递还是引用传递这个话题:来讲讲Java中“引用”这两个字其实不管是值还是引用地址,我们都是将其看成一个”值“的改变。所以使用”==“来判断的时候分两种情况:1、基本数据类型—>比较值。2、引用数据类型(复合数据类型...

2019-12-25 11:21:16 448

原创 Crowdfunding:Spring integration Mybatis configuration data source

1、首先创建spring整合配置文件:2、创建jdbc.properties:jdbc.driver=com.mysql.jdbc.Driverjdbc.user=rootjdbc.password=123456jdbc.url=jdbc:mysql://localhost:3306/crowdfunding?rewriteBatchedStatements=true&...

2019-12-22 20:34:20 152

原创 Spring integrated common configuration

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springfra...

2019-12-22 20:04:40 103

原创 Crowdfunding:SSM Integration Ideas

1、首先来看看思路图:分析:框架搭建好了之后,我们是Controller(或者Handle)去调Service,Service去调Mybatis的Mapper来操作数据库DB。为什么Mapper能够操作数据库呢?回答:有框架提供的支持——数据源DataSource,通过数据源来获取数据库的连接,连接后需要将数据源装配给SqlSessionFactory,在Mybatis中是叫Sql...

2019-12-19 16:46:56 190

原创 Crowdfunding:Spring integrates Mybatis Service interface and classes

1、首先在component中添加mybatis依赖,不需要添加版本,因为父类工程已经有了。2、接着创建工程目录:3、创建service接口以及impl实现类:public interface AdminService {}此时发现没有该注解,因为我们还没有导入Spring的依赖。 <dependencies> <dependency...

2019-12-19 15:24:02 158

原创 关于HashMap,90%的人都不知道的点!

提示:本篇文章为上篇文章的延续,需要理解上篇文章内容才能对本篇内容进行理解。前篇回顾: 上篇文章我们讲解了hash函数作用、hash值的计算、hash碰撞的解决。文章: 细粒度拆分HashMap<2>,吊打面试官!以及分析了为什么要用">>16",因为hash表是使用2的幂次方倍(也就是说HashMap数组长度取2的整数幂)进行掩码(也就是代码中的异或"^")的...

2019-12-17 18:29:16 366

原创 细粒度拆分HashMap<2>

对于上篇文章遗漏了一点:在进行<<、>>和>>>运算的时候需要考虑正负的情况<<:不分正负数,低位补0;“>>”:如果该数为正,则高位补0,若为负数,则高位补1;“>>>”:若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0在面试HashMap的时候,你是不是背面试答案还是真的有去研究分析源...

2019-12-16 18:46:53 256

原创 细粒度拆分HashMap<1>

之前有写过一篇文章,对HashMap进行源码解析:HashMap源码解析&&学习方法文章虽然很详细的分析HashMap的内部结构,但是篇幅太长,且以注释的方式进行展示,不利于读者阅读。所以这里将对HashMap进行细粒度的拆分整理,方便读者的理解。为了能让读者更加好的理解源码中的含义,为此列出源码中出现的一些关键字以及运算符进行讲解:准备:#HashMap中的关键...

2019-12-14 22:43:58 475 1

原创 深入理解Integer缓存机制

之前有对数据类型做介绍:Java数据类型深度总结。文中就有介绍到在JDK5以及JDK5之后Integer的自动装箱和拆箱。#Integer缓存策略虚拟机将创建在一定范围内(-128到127)的整数缓存到一个对象数组,以便进行重用。缓存:先查缓存,查到了则从缓存中取,没有则重新创建。为什么不说Int缓存策略而是Integer,说明我们的缓存策略是在自动装箱的时候触发。那么啥时候...

2019-12-14 17:59:05 1395 2

原创 [ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin......

[ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.5:generate (default-cli) on project crowdfunding-reverse: Execution default-cli of goal org.mybatis.generator:my...

2019-12-09 22:20:52 1088

原创 Crowdfunding:Mabatis Reverse Engineering

Crowdfunding:Database modeling数据库建模使用PowerDesigner,由于项目数据表有点多,并且我们是先实现后台,所以先把管理员表给拿出来:create table t_admin ( id int not null auto_increment, login_acct varchar(255) not null, user_pswd char...

2019-12-09 22:17:00 106

原创 Crowdfunding:Project background engineering construction

Crowdfunding:Project background engineering construction前台:给用户使用的功能。后台:给管理员使用的功能。前端:页面。后端:Java+数据库。项目前台功能:(前台是给用户访问的,考虑大并发场景)SpringBoot+SpringCloud的分布式架构。项目后台功能:(给管理员使用的,访问量小,采用单体架构)...

2019-12-07 21:27:43 249

原创 Crowdfunding:Page functions

Crowdfunding:Page functions从今天开始我们来学习一个项目:叫众筹网,单体架构版。首先根据项目的页面原型来了解下该项目的功能:一、首页(自上而下的介绍)1、登录+注册功能:登录+登录身份选择+记住我+找回密码+注册+注册身份选择+参数校验,登录界面没有账号就选我要注册,然后跳转注册页面,注册界面有账号就选我有账号,然后就跳转到登录页面。 ...

2019-12-06 18:03:46 455

转载 软件开发模式之敏捷开发(scrum)

简介这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那...

2019-12-04 22:44:16 400

转载 软件生命周期模型——瀑布模型

模型概述    瀑布模型是一个经典的软件生命周期模型,也叫预测型生命周期、完全计划驱动型生命周期。在这个模型里,在项目生命周期的尽早时间,要确定项目范围及交付此范围所需的时间和成本。      在这个模型里,项目启动时,...

2019-12-04 22:42:43 1534

原创 【es6】ECMAScript6语法:解构赋值的用途

变量解构赋值的用途(1)交换变量的值let x = 1;let y = 2;[x, y] = [y, x];(2)从函数返回多个值将它们放在数组或对象里返回。// 返回一个数组function example() { return [1, 2, 3];}let [a, b, c] = example();// 返回一个对象function ...

2019-12-03 01:12:40 106

原创 【es6】ECMAScript6语法:解构赋值之圆括号问题

变量解构赋值之圆括号问题只要有可能导致解构的歧义,就不得使用圆括号:第一种情况:变量声明语句(错误示范)let [(a)] = [1];let {x: (c)} = {};let ({x: c}) = {};let {(x: c)} = {};let {(x): c} = {};let { o: ({ p: p }) } = { o: { p: 2 } };f...

2019-12-03 00:57:16 286

原创 【es6】ECMAScript6语法:【函数参数】解构赋值

变量解构赋值之函数参数的解构赋值function add([x, y]){ return x + y;}add([1, 2]); // 3解析,上面函数的参数表面是一个数组,传入参数的时候,数组参数就被解构成变量x和y,所以就能对该函数参数进行解构赋值:[[1, 2], [3, 4]].map(([a, b]) => a + b);// [ 3, 7 ]...

2019-12-03 00:45:29 314 1

原创 【es6】ECMAScript6语法:【字符串、数值、布尔值】解构赋值

变量的解构赋值之(字符串、数值、布尔值)的解构赋值一、字符串:类似数组的操作:const [a, b, c, d, e] = 'hello';a // "h"b // "e"c // "l"d // "l"e // "o"还有,类似数组的属性:length属性,也能对这个属性进行解构赋值:let {length : len} = 'hello';len /...

2019-12-03 00:34:48 294

原创 【es6】ECMAScript6语法:【对象】解构赋值

变量的解构赋值之对象的解构赋值:let { foo, bar } = { foo: 'aaa', bar: 'bbb' };第一个特点:数组的解构赋值是按照次序进行赋值,而对象是根据位置进行赋值。需要注意的一点:变量需要和属性保存一致。也就是说要一致才能找到位置。let { bar, foo } = { foo: 'aaa', bar: 'bbb' };foo // "aa...

2019-12-03 00:27:56 363

原创 【es6】ECMAScript6语法:【数组】解构赋值

变量的解构赋值:数组的解构赋值解构:按照一定模式,从数组和对象中提取值,对变量进行赋值。第一个特点:模式匹配let [a, b, c] = [1, 2, 3];还能嵌套:let [foo, [[bar], baz]] = [1, [[2], 3]];foo // 1bar // 2baz // 3还有这种情况:let [ , , third] = [...

2019-12-02 23:15:15 286

转载 【es6】ECMAScript6语法:globalThis对象

globalThis对象:JavaScript 语言存在一个顶层对象,它提供全局环境(即全局作用域),所有代码都是在这个环境中运行。但是,顶层对象在各种实现里面是不统一的。浏览器里面,顶层对象是window,但 Node 和 Web Worker 没有window。浏览器和 Web Worker 里面,self也指向顶层对象,但是 Node 没有self。Node 里面,顶层对象是gl...

2019-12-02 00:13:13 736

原创 【es6】ECMAScript6语法:const命令

const命令:作用:声明一个常量,一旦声明,常量的值就不能改变。其实和Java中的final很相似。第一个特点:作用域和let一样,只有在声明所在的块级作用域中有效。并且是要在声明后的位置才能使用。第二个特点:和Java中final一样,对于变量来说不能改变的不是值,而是该变量的内存地址的指向,也就是引用不能改变。也就是说对复合类型的数据,const只能保...

2019-12-01 23:50:11 238

空空如也

空空如也

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

TA关注的人

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