- 博客(27)
- 资源 (2)
- 收藏
- 关注

原创 代码细节优化
代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发...
2019-09-17 12:03:13
480

原创 Linux加固脚本
前言最近使用Linux搭建服务器,莫名奇妙的中了挖矿的病毒,导致CPU使用量到达100%,项目都无法启动了,并且清除程序和病毒脚本后,过几天又出现了,所以将此加固的步骤记录一下:服务器重新部署后,先新增一个用户,执行以下命令:[root@2019sh001 ~]# useradd weblogic # weblogic 是新增的用户名[root@2019sh001 ...
2019-07-11 17:31:38
2698
10

原创 IDEA SPringBoot 整合H5微信支付
前言 上周由于项目需要开通H5微信支付功能,于是在网上参考了很多例子,由于数据缺失,实用性不高,所以在此特地将SpringBoot整合H5微信支付的流程整理成文档,测试可用。场景介绍 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。 主要用于触屏版的手机浏览...
2019-04-25 10:43:39
2996
3

原创 MyEclipse集成Spring,hibernate,Strues2框架
1. 安装MyEclipse,安装JDK,安装Tomcat;2. 新建web项目,选择JDK,选择Tomcat,填写项目名;3. 点击Window,选择Open Perspective,点击MyEclipse Database Explorer;4. 右击DB Browser空白处,选择new...,打开New Datebase Connection Drive填写数据据连接信
2017-11-09 09:50:46
531
原创 线上CPU 100% 排查五步法(精简总结版)
打开Linux系统,输入ps命令找到项目的pid 使用ps -Hp pid 命令查看该项目下的所有线程信息,找到为100%的线程pid 使用 jstack pid>pid.log 将线程的日志信息放入log日志文件中 将CPU为100%的线程pid转为16进制(Linux默认是16进制),然后在日志中找到该pid的位置 通过查看日志报错信息,定位到项目具体文件的具体方法的具体行 ...
2021-03-02 20:42:53
269
原创 HashMap底层数据结构分析
1.HashMap 的底层是数组// 参考代码HashMap<String, String> map = new HashMap<String, String>();map.push("张三","测试数据1");map.push("李四","测试数据2");// 底层的数据类型简单展示,当然实际上远远没有这么简单,这里是方便理解[<张三, 测试数据1>, <李四, 测试数据2>]2.底层原理1. 首先会根据'张三'这个 key 计
2020-10-23 20:52:10
367
2
原创 Java基础:谈谈对Java平台的理解
前端框架vue开发问题小结页面属性渲染问题vue通过在data中声明属性,页面加载时,通过页面中{{name}}字段实现双向绑定数据,当在js中通过this.name的方式更改数据时,vue同时会将更改后的数据在页面显示出来,进行实时更新。当发现修改字段,页面未生效时,应当排查声明的对象,页面显示的对象,通过this修改的对象的大小写是否一致,属性名是否相同。页面集合修改渲染问题在...
2020-04-09 09:07:38
218
原创 前端框架 VUE 开发问题总结
前端框架 vue 开发问题总结页面属性渲染问题在 vue 的开发中, 我们最常用的是 vue 的双向绑定的属性,我们将属性定义在 data () { 属性名:属性默认值 } 中,同时在页面中使用 {{ this.属性名 }},vue 在加载时会将默认值渲染到 {{ this.属性名 }} 中进行显示,当在 js 中通过 this.属性名 = XXX 进行修改值时,{{ this.属性名 }}...
2020-04-08 23:08:16
356
原创 前端框架 VUE 开发指引
1. vue页面加载时,v-if标签导致页面闪频解决页面添加style,并在 v-if 标签添加调用:[v-cloak] { /* display: none !important; */ visibility: hidden !important;}个人建议使用visibility: hidden ,因为只是显示问题,没必要使用 display: none , 程...
2020-03-11 20:07:58
289
原创 设计模式--单例模式
简介:单例模式就是采取一定的方法,保证在整个软件系统中,对某个类只存在一个实例对象,并且该类只提供一个静态的获取其对象实例的方法;单例模式有8种方式:饿汉式 (静态常量) 饿汉式 (静态代码块) 懒汉式 (线程不安全) 懒汉式 (线程安全,同步方法) 懒汉式 (线程安全,同步代码块) 双重检查 静态内部类 枚举---------------------------...
2019-10-10 11:41:09
157
原创 设计模式的七大原则——迪米特法则(下)
迪米特法则: 最少知道原则,即一个类对自己依赖的类知道的越少越好迪米特法则代码2:/** * 学校总部员工类 */class Employee { // 员工编号 private String id; public String getId() { return id; } public void setId(String id) { this.id ...
2019-10-06 19:34:39
269
原创 设计模式的七大原则——迪米特法则(上)
迪米特法则: 最少知道原则,即一个类对自己依赖的类知道的越少越好迪米特法则代码1:(违反了迪米特法则,不推荐使用)/** * 学校总部员工类 */class Employee { // 员工编号 private String id; public String getId() { return id; } public void setId(String ...
2019-10-05 16:04:34
312
原创 设计模式的七大原则——开闭原则(下)
开闭原则: 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。开闭原则代码2:(遵循开闭原则,推荐使用)/** * 用于绘图的类[使用方] */class GraphicEditor { // 接收 Shape 对象,然后根据 type, 来绘制不同的图形 public void drawShape(Shape ...
2019-10-04 20:54:48
224
原创 设计模式的七大原则——开闭原则(上)
开闭原则: 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。开闭原则代码1:(未能遵循开闭原则,存在优化的空间)/** * 开闭原则代码1 */public class oncg { public static void main(String[] args) { GraphicEditor graphicEdito...
2019-10-04 18:59:42
285
原创 设计模式的七大原则——里氏替换原则
里氏替换原则: 继承在给程序带来便利的同时,也带来弊端。如果子类需要修改父类的方法时,必将对继承的整体体系造成破坏。在适当的情况下,可以通过聚合,组合,依赖 来解决问题。换句话说,所有引用基类的地方必须能透明的使用其子类的对象。/*** 底层普通基类,用来解决继承的耦合性问题*/class Base {}/*** 实体类A,用于计算两个数的差*/cla...
2019-10-04 18:45:39
293
原创 设计模式的七大原则——依赖倒转原则
1. 依赖倒转原则:抽象不应该依赖细节,细节应该依赖抽象/*** 信息接口*/interface IReceive { public String getInfo();}/*** 微信信息实现类*/class WeiXin implements IReceive { @Override public String getInfo()...
2019-10-04 18:40:50
338
原创 设计模式的七大原则——接口隔离原则
1. 接口隔离原则:一个类对另一个类的依赖应该建立在最小的接口上public interface Interface1 { public void operation1();}public interface Interface2{ public void operation2(); public void operation3();}publi...
2019-10-04 18:35:31
339
原创 设计模式的七大原则——单一职责原则
1. 单一职责原则:一个类型应该只负责一项职责public class AirVehicle { public void run(String vehicle){ System.out.println(vehicle + '在天空飞行'); }}public class RoadVehicle { public void run(Stri...
2019-10-04 18:30:18
262
原创 微信小程序轮播方式
最近编写微信小程序,发现小程序自带的轮播方式轮播到最后一张图后会倒回到第一张图片,进行重新轮播,这种方式看起来十分变扭,所以在万能的网上搜索了一下解决方案,并记录如下:index.wxml: <swiper class="banner" indicator-dots="true" circular="true" autoplay="true" interval="3000" du...
2019-07-11 11:59:53
614
原创 并发编程-synchronized关键字的使用
前言 在工作中,我们经常会使用到并发编程,synchronized,volatile,ReentranLock,concurrent这几个关键字下的包相信大部分程序员都听说过,这些看似高深的代名词,很多人都不懂得如何去使用,滥用的结果往往都需要自己承担后果。在本章中,为大家讲解 synchronized 关键字的使用。描述 我看过许多关于线程安全方面的书籍,上面对...
2019-04-25 10:26:22
261
原创 IDEA整合springboot+mybatis框架+logback
前言 本次将整合springboot 2.0+版本 + Mybatis,由于springboot 2.0之下的版本需要很多繁琐的配置,所以本次直接集成2.0版本。项目架构 ~ 开发工具:Intellig IDEA 2017 ~ maven:3.3.9 ~ JDK版本 :至少1.8及以上; ...
2019-04-25 10:21:59
1128
原创 编程小技巧-@Data与@Slf4j的使用
前言 最近在项目中发现两个很好使用的注解,在这里分享给大家;描述 @Data: 使用此注解后,自动生成setter、getter方法; **@slf4: ** 如果不想每次都写Logger,可以用注解@Slf4jprivate final Logger logger = LoggerFactory.getLogger(XXX.clas...
2019-04-25 10:04:09
497
原创 并发编程-synchronized关键字的使用
前言在工作中,我们经常会使用到并发编程,synchronized,volatile,ReentranLock,concurrent这几个关键字下的包相信大部分程序员都听说过,这些看似高深的代名词,很多人都不懂得如何去使用,滥用的结果往往都需要自己承担后果。在本章中,为大家讲解 synchronized 关键字的使用。描述我看过许多关于线程安全方面的书籍,上面对线程安全描述的很...
2019-03-31 16:30:03
461
原创 数据仓库ETL算法
1. ETL的定义:是数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去;2. 常用的ETL工具:主要有三大主流工具,分别是Ascential公司的Datastage、Informatica公司的Pow
2017-11-09 09:46:38
4101
数据仓库ETL算法详解
2017-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人