自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你不知道你不知道的事

我虽新手,就在学习

  • 博客(130)
  • 资源 (1)
  • 收藏
  • 关注

原创 代码优化(二):编写“短小“的代码

为什么要写”短小“的代码呢?因为一个人理解的东西是有限的,没有人能同时面对所有细节。当一个事物足够复杂,就会超过一个人的理解范畴,解决的方式就是分而治之。项目中坏味道的代码那么多,难道要一个个找去修改么?建议处理原则为:我现在添加的代码,是否让原有的代码更糟糕了,答案是的话,那就优化它。让营地比你来时更干净 ——童子军长函数长函数需要拆分函数;多长算长函数?建议每个函数在20行以下,越短越好。大类把类写小,越小越好。产生大类的原因主要有:1.职责不单一 2.字段未分组1.

2021-03-03 13:54:35 416 2

原创 代码优化(一):Java代码命名规范

编程中最难的事情 —— 命名!怎么做好命名规范,这里结合了项目,分成四个等级。为以下:基础:命名风格 第一级:精准命名,体现意图 第二级:用业务语写代码 第三级:编写符合英语语法规则的代码基础:命名风格每个公司都有自己的命名风格,比较有名的就是阿里开源的《阿里巴巴Java开发手册泰山版》,非常推荐去官网下载阅读。像不要用中文、拼音、缩写这些很常见的就不说了;这里结合个人的项目,摘取了一些容易被忽视的规范,审视一下是否已经中招: 抽象类命名使用 Abstract 或 Base 开

2021-03-01 16:41:24 479

原创 SkyWalking链路监控(一):SkyWalking快速搭建

简介当分布式系统服务比较多,特别是微服务,出现故障就很难排查。所以需要借助APM 系统进行排查(Application Performance Management,即应用性能管理),SkyWalking是APM 系统的一种,类似的产品还有CAT、Zipkin、Pinpoint。SkyWalking和Pinpoint相比其他系统,做到了无侵入性。Pinpoint出现的时间长,文档也较为丰富,为多数公司使用。国人开源的APM产品SkyWalking,探针采集数据粒度相较于 Pinpoint 来说略

2021-02-23 14:59:17 1358

原创 Spring事务(二):Spring事务的特点

事务特性实现事务必须满足以下四大特性:Atomicity(原子性):构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。 Consistency(一致性):数据库在事务执行前后,完整性没有被破坏。 (转账前后,钱的总数不变) Durability(持久性):事务执行成功后必须全部写入磁盘。 Isolation(隔离性):允许多个并发事务同时对数据进行操作,也不会由于交叉执行导致数据不一致。隔离性 通过MVVC实现(相对应的有MVCC)原子性、一致性、持久性:通过数据库的

2021-02-21 16:10:26 384

原创 Spring事务(一):Spring事务的使用

什么是事务事务的经典举例:某人要在商店使用电子货币购买100元的东西,当中至少包括两个操作:该人账户减少100元商店账户增加100元事务就是要确保以上两个操作 都能完成 或者 一起取消,否则就会出现100元平白消失或出现的情况。(摘自wiki)Spring事务的使用Spring事务有两种方式:编程式事务管理、声明式事务管理a. 编程式事务管理调用getTransaction()、commit()、rollback()等事务管理相关的方法,可以进行代码块粒度的事务控制;但是对业务代码有

2021-02-21 11:23:42 232

原创 《高性能MySQL》第一章 Mysql架构与历史

第一章 Mysql架构与历史1.Mysql逻辑架构Mysql的逻辑架构可以大致分为三层:第一层连接/线程处理:账号密码认证证书安全认证权限认证第二层查询缓存(8.0去除)分析器:核心服务功能词法分析,形成语法树(解析树)错误的语法挑选出来内置函数跨存储引擎功能:存储过程、触发器、视图等查询优化器索引优化:使用最优索引多...

2020-02-15 15:49:50 182

原创 从零基础认识ssm

ssm整合(2018-10-23修正)该文章在maven工程搭建完成的基础上编写,相关信息可查看本博客的前一篇文章maven,因上篇文章已介绍ssm所需的maven依赖,本文章只介绍配置文件的配置。1.web.xmlM:web.xml文件有什么作用?Z:一般JavaEE工程都会有web.xml,它主要是用来初始化配置信息的。比如Welcome页面、servlet、servlet-mapp...

2018-10-23 11:17:32 1081

原创 从零基础认识dubbo

DubboM:Dubbo跟Zookeeper是什么关系?Z:Dubbo是一个RPC远程服务框架,而dubbo建议使用Zookeeper作为服务的注册中心。如下图为Dubbo的使用架构,而其中的Registry则由Zookeeper承担。Provider是提供者,Consumer是消费者。提供者注册服务到Registry注册中心,消费者通过dubbo从注册中心获取服务列表,再远程调用服务。...

2018-10-23 09:43:00 565

原创 前端模板template-web简单使用

template-webM:template-web是什么东西,有什么作用?Z: 这是一个模板引擎,简单来说就是构建一个模板,让其生成html的js代码。如果不用该js,手动来操作,我们可能需要繁杂的拼接html标签,还要做for循环。M:具体使用的方式是怎么样的呢?Z:这里有个demo<!DOCTYPE html><html lang='en'>...

2018-09-09 13:04:58 44687 5

原创 从零基础认识SpringBoot(二)进阶

SpringBoot进阶表单验证M:我不想让一些不符合的数据插入数据库,前端控制虽然可以防止小白误操作,但是有意的黑客是可以很容易就绕过前端验证控制的,怎么在后台代码上验证数据呢?Z:添加@Valid注解 首先将传值改为传对象,然后在对象前面添加@Valid注解。而BindingResult是用来存储报错信息的。 /** * 添加内容 */ ...

2018-08-18 15:38:12 735

原创 从零基础认识SpringBoot(一)入门

SpringBootD:SpringBoot为SpringMVC升级版。简化配置,很可能成为下一代的框架。 1.新建项目Z:使用IntelliJ IDEA , 其破解地址为:http://idea.lanyus.com/ 或者 https://jetlicense.nss.im/ M:怎么创建springBoot项目呢?Z: 创建步骤复杂一点点New...

2018-08-15 11:17:51 11671 1

原创 IDEA新手入门详解(上)

IDEA(上)本文主要讲idea项目的创建,运行。还有idea常用的快捷键。1.创建项目创建Java项目Z:Create New Project,一路next M:编写完java代码,怎么运行呢?Z:点击右边的开始按钮,选择运行项目main方法 M:idea怎么进行编译呢?Z:点击编译按钮,target中的红色文件夹中就是编译后的文件,一般运行的时候...

2018-08-13 23:10:43 51751 8

原创 Kettle简单应用:实现数据迁移

Kettle实现数据迁移下载地址:http://mirror.bit.edu.cn/pentaho/Data%20Integration/(JDK1.8才可支持Kettle7.0以后的版本) 配置环境变量,启动程序(变量值根据文件目录而定) 运行Spoon.bat启动程序 单表数据迁移进入主界面,左上角点击文件-新建-转换保存为demo.ktr左侧...

2018-08-07 00:52:28 7072 6

原创 闲聊Spring-0.【序言】从零开始造Spring

从零开始造SpringZ:《从零开始造Spring》这是公众号 码农翻身 作者刘欣于2018.06.08开的一门课程,利用九周的时间创造一个简单的Spring案例。出于尊重作者的劳动成果考虑,这里将不会公布作者的原版资料,仅做二次解读。这也是对本人学习的复盘和总结,由于本人能力有限,诸多出错,希望能获得各位的指教。 第一周概述 加餐:单元测试课程介绍介绍Spring Io...

2018-06-21 23:34:39 2204

原创 闲聊Spring-2.BasicBeanFactory(上)

Basic BeanFactory(上)M:spring构造开始,首先要创建什么文件呢?Z:我们采用的是maven项目,pom文件里面一开始只需要有junit,和解析xml的dom4j就可以了<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchem...

2018-06-21 23:31:36 319

原创 闲聊Spring-1.TDD开发模式的Demo

TDD的DemoM:什么是TDD?Z:TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。 M:那具体要怎么做呢?Z: 如下 M:能写一个Demo么?Z:TDD开发Demo:测试会返回所...

2018-06-21 23:28:53 674

原创 闲聊31天重构-第5,6天:提升字段&降低字段

提升字段Z:提升字段与提升方法相似,就是将子类中通用的属性提取到基类中来原代码:public abstract class Account{}class CheckingAccount extends Account{ private Double _minimumCheckingBalance = 5.0;}class SavingsAccount exte...

2018-06-14 15:44:06 192

原创 闲聊solr的简单使用

solr的简单使用M:solr是干嘛用的呢?D:Solr是一个独立的企业级搜应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。solr将非结构化数据,通过分词、词法分析、过滤停词、语义分析等手段来转成结构化数据,存储为索引。...

2018-06-14 14:36:11 1387

原创 闲聊31天重构-第3,4天:方法提公&降低方法

Pull Up Method方法提公D:以下为原来的代码:public abstract class Vehicle{ // other methods}class Car extends Vehicle{ public void Turn(Direction direction){ // code here }}class Moto...

2018-06-14 10:39:41 183

原创 闲聊31天重构-第1,2天:方法迁移

方法迁移(Move Method)D:原来代码public class BankAccount{ public BankAccount(int accountAge, int creditScore, AccountInterest accountInterest){ AccountAge = accountAge; CreditScore = ...

2018-06-14 10:24:25 261

原创 闲聊31天重构-第0天:序言

序言M:这是我在学习《Refactoring》的时候,由于理解能力不足,很多地方都看不太懂。这时候发现网友IT少年链接(C版本)。他翻译了一外国网友英文链接对Refactoring.com重构知识31天学习的总结。在这里我将先借用网友的案例,参考IT少年的翻译,编写重构番外篇。在理解大体知识后,再对原著《Refactoring》继续学习。感谢两位网友的技术分享。...

2018-06-14 10:15:31 242

原创 从零基础认识TDD开发

TDD的DemoM:什么是TDD?Z:TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。 M:那具体要怎么做呢?Z: 如下 M:能写一个Demo么?Z:TDD开发Demo:测试会返回所...

2018-06-11 22:51:57 1146

原创 闲谈重构-TheStartingPoint/起点

TheStartingPoint/起点M:第一个案例是什么呢?Z:是一个video store的简单程序 D:这是一段影片租贸店的程序Moive.java/** * 影片 * @author liyb */public class Movie { public static final int CHILDRENS = 2; //儿童 publi...

2018-06-04 10:46:03 361

原创 闲聊蓝桥杯JAVA - 埃及分数

埃及分数D:简单的题目标题:埃及分数 古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。古埃及喜欢把一个分数分解为类似: 1/a + 1/b 的格式。 这里,a 和 b 必须是不同的两个整数,分子必须为 1 比如,2/15 一共有 4 种不同的分解法(姑且称为埃及分解法):1/8 + 1/1201/9 + 1/451/10 + 1/30...

2018-05-24 21:19:59 622

原创 闲聊蓝桥杯JAVA - 稍大的串

稍大的串D:对大数有要求的题目:标题:稍大的串 串可以按照字典序进行比较。例如: abcd 小于 abdc 如果给定一个串,打乱组成它的字母,重新排列,可以得到许多不同的串,在这些不同的串中,有一个串刚好给定的串稍微大一些。科学地说:它是大于已知串的所有串中最小的串。你的任务就是求出这个“稍大的串”。例如:输入串:abfxy程序应该输出:abfyx再例如...

2018-05-24 21:18:48 905

原创 闲聊蓝桥杯JAVA - 密文搜索

密文搜索D:看起来不是很复杂的题目标题:密文搜索福尔摩斯从X星收到一份资料,全部是小写字母组成。他的助手提供了另一份资料:许多长度为8的密码列表。福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。请你编写一个程序,从第一份资料中搜索可能隐藏密码的位置。要考虑密码的所有排列可能性。数据格式:输入第一行:一个字符串s,全部由小写字母组成,长度小于1024*1024...

2018-05-24 01:13:53 545

原创 闲聊蓝桥杯JAVA - 奇怪的数列

奇怪的数列D:来一道数列题目标题:奇怪的数列从X星截获一份电码,是一些数字,如下:13111331131321131113122113....YY博士经彻夜研究,发现了规律:第一行的数字随便是什么,以后每一行都是对上一行“读出来”比如第2行,是对第1行的描述,意思是:1个1,1个3,所以是:1113第3行,意思是:3个1,1个3,所以是:3113请你编写一...

2018-05-23 11:47:49 1102

原创 闲聊蓝桥杯JAVA - 生成回文数

生成回文数D:简单的题目标题:生成回文数所谓回文数就是左右对称的数字,比如:585,5885,123321...当然,单个的数字也可以算作是对称的。小明发现了一种生成回文数的方法:比如,取数字19,把它与自己的翻转数相加:19 + 91 = 110,如果不是回文数,就再进行这个过程:110 + 011 = 121 这次是回文数了。200以内的数字中,绝大多数都可以...

2018-05-23 11:46:10 720

原创 闲聊蓝桥杯JAVA - 空心菱形

空心菱形D:抽取到的题目标题:空心菱形小明刚刚开发了一个小程序,可以打印出任意规模的空心菱形,规模为6时,如下图:****** *********** ********* ******* ***** *** *** ***** ******* ********* ...

2018-05-23 11:44:13 409

原创 闲聊蓝桥杯JAVA - 路径之谜

路径之谜D:来一道通用的题目,路径行走路径之谜小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同...

2018-05-22 21:52:23 1276 5

原创 闲聊蓝桥杯JAVA - 组合-全排列

组合-全排列D:今天练一下全排列,比较两种解法。有重复的字母中求取出m个所有组合例如: "AAABBCCCCCCDD" 中取3个字母的所有组合D:解法1如下import java.util.Scanner;public class Main3 { static Scanner input = new Scanner(System.in); stati...

2018-05-21 23:02:52 749

原创 闲聊蓝桥杯JAVA - 平方末尾

平方末尾D:今天先来一道简单的题目平方末尾能够表示为某个整数的平方的数字称为“平方数”比如,25,64虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。因为平方数的末位只可能是:[0, 1, 4, 5, 6, 9] 这6个数字中的某个。所以,4325435332必然不是平方数。如果给你一个2位或2位以上的数字,你能根据末位的两位来断定它不是平方数吗?请...

2018-05-17 22:35:53 903

原创 闲聊蓝桥杯JAVA - 填字母游戏

填字母游戏D:今天是一道很有游戏感的题目(只是蹭LOL热度):标题:填字母游戏小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:“我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。并且:1. 轮到某人填的时候,只能在某个空格中填入L或O2. 谁先让字母组成了“LOL”的字样,谁获胜。...

2018-05-17 00:23:35 1263 2

原创 闲聊蓝桥杯JAVA - 算式填符号

算式填符号D:来一道看起来有点麻烦的题目匪警请拨110,即使手机欠费也可拨通!为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!某批警察叔叔正在进行智力训练:1 2 3 4 5 6 7 8 9 = 110请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号...

2018-05-13 14:49:50 486

原创 闲聊蓝桥杯JAVA - 罗马数字

罗马数字D:这道题解法不难,但是主要是研究对于特殊值我们的处理方式: 古罗马帝国开创了辉煌的人类文明,但他们的数字表示法的确有些繁琐,尤其在表示大数的时候,现在看起来简直不能忍受,所以在现代很少使用了。之所以这样,不是因为发明表示法的人的智力的问题,而是因为一个宗教的原因,当时的宗教禁止在数字中出现0的概念! 罗马数字的表示主要依赖以下几个基本符号: I 1 ...

2018-05-12 23:56:34 651

原创 闲聊蓝桥杯JAVA - 出栈次序

出栈次序D:做一道简单的题目X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。路边有个死胡同,只能容一辆车通过,是临时的检查站,如图所示。X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?为了...

2018-05-11 00:40:26 644

原创 闲聊蓝桥杯JAVA - 平方十位数

平方十位数D:今天来一道热乎乎的真题:标题:平方十位数由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。这其中也有很多恰好是平方数(是某个数的平方)。比如:1026753849,就是其中最小的一个平方数。请你找出其中最大的一个平方数是多少?注意:你需要提交的是一个10位数字,不要填写任何多余内容。M:这道题暂时没有太好的思路,求帮助!Z:找到一个java...

2018-05-08 23:54:02 1009 2

原创 闲聊蓝桥杯JAVA - Excel地址

Excel地址D:今天快速做一道简单的题目标题: Excel地址Excel单元格的地址表示很有趣,它使用字母来表示列号。比如,A表示第1列,B表示第2列,Z表示第26列,AA表示第27列,AB表示第28列,BA表示第53列,....当然Excel的最大列号是有限度的,所以转换起来不难。如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列呢?本...

2018-05-07 23:38:19 303

原创 闲聊蓝桥杯JAVA - 九宫幻方

九宫幻方D: 今天做一道题目 九宫幻方小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分。三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格,在小学奥数里有一句非常有名的口诀: “二四为肩,六八为足,左三右七,戴九履一,五居其中”, 通过这样的一句口诀就能够非常完美的构造出一个九...

2018-05-06 23:37:48 924

原创 闲聊蓝桥杯JAVA - 约瑟夫环

闲聊蓝桥杯JAVA - 约瑟夫环D:现在我们要研究一道不是很熟悉的题目,约瑟夫环约瑟夫环就是循环不断地减少数量的规则 问题:41人循环报数,数到3的就自杀,最后两个不想自杀,请问最后两个是谁?Z:这道题之前的解决过程是这样的: public static void main(String[] args) { int[] arr=new int[41];...

2018-03-31 21:58:01 409

蓝桥杯2012年-2017决赛&省赛真题.zip

十分齐全的蓝桥杯2012年-2017决赛&省赛真题,欢迎下载,祝比赛愉快

2018-05-07

空空如也

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

TA关注的人

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