- 博客(122)
- 资源 (8)
- 收藏
- 关注
原创 效率提升-idea的leetcode插件应用
安装leetcode插件遍历功能右下角为配置入口配置账号密码登录双击可以进行考题编写第一题,这里使用官方推荐的map法进行解题。可以看到内存占用多,但是执行速度快。同时也可以查看提交历史(跟git差不多)可以查看解题方法 open solation评价刷题更加便捷了。。。...
2020-05-14 11:22:43
1369
原创 java-一道面试题(链式+stream编程)
题目要求:一分钟内完成此题,只能用一行代码实现。现在有5个用户,筛选:1、ID必须是偶数2、年龄必须大于23岁3、用户名转换为大写4、用户名字母倒排序5、只输出一个用户public class MyTest { User user1 = new User(1, "AB", 24); User user2 = new User(2, "cd", 25); User user3 = new User(3, "ef", 23); List<User> list = Arra.
2020-05-08 21:48:24
506
原创 并发编程-一个简单的例子阐述volatile的保持线程间内存可见性作用(volatile)
实践代码参考:https://gitee.com/wangtonggui/java_demo.git的keyword-demo使用volatile,线程可以停止不使用,线程不可以停止说明volatile可以进行变量的线程间同步评价使用一个例子可以方便的说明问题。...
2020-04-29 12:03:15
239
原创 并发编程-复现一个简单的并发场景
实践过程代码参考:https://gitee.com/wangtonggui/java_demo.git的ParallelProblem模拟场景:黄牛抢票把count看做是票把Thread看做是黄牛黄牛不断抢票,但是多次尝试之后,出现了两个黄牛抢到一张票的场景评价java中如果没有进行任何线程安全同步的情况下,公有资源的访问必然会出现线程安全的问题。...
2020-04-28 12:07:03
398
原创 并发编程-简易秒杀实践(分布式锁+redis+springboot+redisson)
背景分布式锁的核心是把并发操作强行串行化,在面试过程中非常常见,在高并发场景的编程下也非常常见。本wiki将进行简易的编程实践。注:代码没有在线上工程中实际应用,仅供学习参考实践过程搭建环境使用docker搭建redis环境sudo docker run --name redis -p 6379:6379 -d redisspring boot实现一个简易的web服务(seckil...
2020-04-27 19:24:38
431
原创 设计模式-java实现静态代理和动态代理
背景在进行mybatis的学习中,设计到了动态搭理,即仅仅定义接口和mapper,就能获取相应的接口实现类,进行dao的种种操作。实践过程参考代码:https://gitee.com/wangtonggui/design_pattern.git需求:使用代理的方式,实现某接口的时间调用时间纪录。静态代理Person实现了eat的接口,我们要通过代理的方式纪录eat的时间下面是通过继...
2020-04-22 14:38:48
204
原创 并发编程-juc-semaphore信号量实践
背景在进行限流与熔断的过程中,java信号量起到了很大的作用,本wiki将java的信号量做了最基础的实战。实践过程参考代码:https://gitee.com/wangtonggui/java_demo.git创建信号量,公平模式就是先到先得,抢占式就是看运气信号量阻塞-1,这个是线程安全的当信号量的可用许可证为0的时候,acquire就会阻塞release操作就是+1操作,...
2020-04-20 19:56:49
248
原创 数据库-存储过程的理解与实践
背景存储过程的概念类似于linux中的sh脚本,即能同时执行多条命令,而且可以传入参数等。实践创建过程create procedure procedure_name()begin select name from t_user; select name from t_user;end;删除一个过程drop procedure procedure_name调用过程call...
2020-04-20 11:15:28
212
原创 效率提升-idea-按照包下断点
背景在进行框架代码研究的时候,下断点尝试是常用的手段。本wiki尝试一种按照包来下断点的调试手法。实践过程随便创建一个工程,这里以mybatis为例,写了一个mybatis的helloworld级别的代码,在run里面进入view breakpoints添加一个断点方案,选择Java Method BreakPoints输入你想打断点的包org.apache.ibatis.ses...
2020-04-19 20:28:02
280
原创 框架编程-mybatis的helloworld(mybati+maven+xml)
文章目录背景实践过程准备数据创建maven工程添加mybatis的maven依赖添加java代码添加mybatis配置测试代码评价背景之前经常在springboot中使用mybatis,封装性太强,不容易窥其全貌,本wiki将根据官方文档自己实现一个demo。简单来说:mybatis可以完全替代你jdbc让sql的操作更简单让结果集的映射更简单实践过程源码地址:https://...
2020-04-17 17:14:57
257
原创 编程框架-springboot-@SpringBootApplication的探索
背景如果研究springboot,那么必然要研究它的自动装配,而自动配置的核心如下:SpringbootApplication注解所带动的一系列配置(这里是静态的,当run后进行扫描的时候,就会全部涉列到,本文重点阐述)run方法(启动过程,将来另外的wiki进行阐述)SpringBootApplication探索过程总览细看Spring boot必须要做的两件事,做完之后就可...
2020-04-16 20:48:39
181
原创 java-jdk中常用类的使用demo(String类)
概述本文阐述jdk中String类的常用方法。实践过程下载示例代码源码地址:https://gitee.com/wangtonggui/java_demo.git跑一跑看看String的new,可以直接传入StringBuffer和StringBuilder方便的定位字符判断字符串是否相等判断字符串的大于小于和等于剩下的startWith、endWith、indexO...
2020-04-13 21:54:41
331
原创 编程框架-springboot启动流程(springboot+2.2.x)
背景天天在用spring boot,不了解基础的启动流程是真的说不过去。本wiki将进行启动流程阐述。启动流程时序图DemoApplicationSpringApplicationStopWatchSystemSpringFactBeanUtilsSpringApplicatBinderSpringApplicatiSpringBootExcConfigurableAppAbstractA...
2020-04-13 17:47:28
430
原创 效率提升-idea索引技巧-在某个包中进行查找
背景用idea看源代码能提高效率,但是扛不住代码量大,重复的内容多。本wiki将总结一个查看代码的小技巧,以备后用。搜索过程目标查找SpringBootConfiguration的使用情况ctrl + shift + f,查找SpringBootConfiguration点击右侧的三个点(从这里来设定搜索范围)点击 + -> local,输入名称springframework(...
2020-04-13 11:52:59
1162
1
原创 设计模式-java实战建造者模式(uml+java)
背景20+种设计模式,实践ing。本wiki将阐述建造者模式(builder模式)。这个模式的特点是:降低同系列对象的创建难度。重点参考:https://www.bilibili.com/video/BV1Qx411o7tN?p=27实践过程需求分析拿视频里面的例子来说:客户端(client)想创建几个电脑对象,给不同的人使用,那么就会出现以下代码:// 电脑类如下@Datap...
2020-04-12 11:11:32
477
原创 java-mapStruct源码走读
背景最近在研究mapStruct,为了方便以后能顺手使用,本wiki将简单地走读一下源码。源码走读总览源码下载:https://gitee.com/mirrors/mapstruct.gitpom模块概览parent,只有一个pom文件,用于全局统一加载工具,例如guava、freemarker等build-config,一些配置的xml集合core,各种注解和常量的定义与...
2020-04-08 17:10:36
1447
原创 java-自定义代码生成器(spring boot+freemarker)
背景javaEE 开发的本质是进行数据操作,开发的难点其实是在数据库设计。本wiki将阐述一下数据库设计完毕后,直接生成代码的过程。生成代码过程clone自制的代码生成器:git clone https://gitee.com/wangtonggui/code-maker.git做一下数据库的简单配置:目标库是:dbpay生成器会自动生成这个库下所有表的model直接运行工程,查...
2020-04-08 14:56:13
903
原创 java-apt编程实践(Annotatino Processing Tool+maven)
背景最近在研究mapStruct,而mapStruct核心技巧就是apt,通过编译期注解+freemarker进行java文件生成,从而省去了很多编码。本wiki将阐述一个apt的编程实践。实践过程创建一个hello工程工程由两个模块组成:application模块,将使用自定义的编译器注解apt模块,自定义注解,并且完成AbstractProcessor的继承和实现根pom如...
2020-04-07 16:01:26
1446
原创 java-spi编程实践(Service Provider Interface+maven)
背景在研究java注解处理器的过程中,涉及到了spi机制的理解,本wiki将进行一下实践。spi机制spi机制的目标:实现接口与实现的解耦。spi机制在开源项目中的应用:spring中大量使用(ioc的过程会自动选取一个实现)数据库驱动加载dubbo等等在后续的博客中将对不同的框架进行调研并加以说明。spi简易demo创建一个maven项目pom文件如下<?xm...
2020-04-06 18:15:07
874
原创 效率提升-再次实践pojo的映射简化(mapStruct)
背景之前写了一个mapStruct的Hello World,本wiki将再用一个实际项目中的例子来进行优化。实现过程创建一个spring boot项目这里创建了一个MyApplicationRunner,方便我们调试bean复制之前项目中的代码使用mapStruct进行修改评价...
2020-04-04 15:03:49
362
原创 效率提升-简化java开发中pojo的转换(mapstruct)
背景在java的web开发中,pojo转换难以避免,mapstruct工具帮我们进行了简化,本wiki将进行实践。实践过程简易实践创建一个hello项目(最简单的maven项目即可)。pom文件添加依赖 <properties> <mapstruct.version>1.2.0.Final</mapstruct.version>...
2020-04-03 16:40:30
669
原创 工程组件-nginx提供文件下载功能
背景nginx是开发中的利器,本wiki将阐述如何使用nginx制作一个文件下载服务器。实战过程docker默认安装nginxsudo docker run -d --name nginx -p 9008:80 nginx:stable浏览器访问9008端口sudo docker exec -it nginx bashcd /etc/nginx# 查看默认配置文件cat ngi...
2020-04-02 20:25:17
648
原创 工程组件-使用docker安装部署配置Jenkins(docker+Jenkins)
背景Jenkins在自动化集成中必不可少,本博客将阐述一种简易的安装部署方式。安装部署过程docker安装Jenkins最新版下载最新版本的Jenkins资源包:http://updates.jenkins-ci.org/latest/jenkins.warmkdir -p /home/jenkins_homemkdir -p /home/softcd /home/softrz上传...
2020-04-02 14:22:23
264
原创 工程组建-pinpoint的apm部署
文章目录背景部署hbase下载hbase的jar包解压后配置 hbase-site.xml配置hbase-env.sh启动hbase创建hbase表查看启动情况部署pinpoint-web部署tomcat查看启动情况部署pinpoint-collector启动服务的时候同时使用agent进入pinpoint-web观测数据服务运行情况评价背景在进行微服务开发过程中,链路追踪功能是必要的。本文将...
2020-04-01 18:28:39
386
原创 效率提升-任务管理(teambition)
背景在工作和学习中,是不是经常出现忘记任务我的情况呢?本博客将阐述一个简单的任务管理系统工具,teambition。使用实战官网地址:https://www.teambition.com注册登录后如图。可以直接创建自己的任务,进行纪录,另外可以进行任务的追踪。teambition的功能不仅如此,还可以进行项目的创建与追踪、同时可以进行团队管理(正如其名)。评价此工具进行任务管理还...
2020-03-31 11:02:18
518
原创 效率提升-使用markdown画时序图
背景markdown现在使用越来越多,好处多多。本博客将阐述如何使用markdown来画时序图。参考文档:https://mermaid-js.github.io友情提示,网络不好的话可能访问不通。实战文本审核基础服务odps读取训练数据(文本分词)返回训练数据(文本分词)模型训练预测测试集计算模型指标写入模型写入模型指标数据文本审核基础服务odps源码sequenceDiagra...
2020-03-26 21:48:53
793
原创 java-元组实现
背景在java工程开发的过程中,经常会遇到需要函数直接返回多个参数的情况,这里阐述一种自定义元组的方法。代码实战以下为元组类的定义public class Tuple { public static <A, B> TwoTuple<A, B> tuple(A a, B b) { return new TwoTuple<>(a, ...
2020-03-25 14:32:23
1355
原创 大数据-一站式内容画像数据处理(pyodps+odps)
背景公司的pro环境并没有搭建自己存储环境,而是直接使用阿里云的rds,那么数仓的建设也就直接使用了阿里云的dataworks(也就是原odps,也有maxcompute)。数据存储的限制,需要使用pyodps的sdk才能进行更好的管理、分析、处理(机器学习、深度学习模型训练等)。本wiki将阐述使用pyodps的优势。数据流概念解析:内容源爬虫系统,scrapy实现,爬取文章...
2020-03-18 16:54:28
2093
2
原创 python-jupyterhub通过docker方式安装
背景在python的开发中,经常会用到jupyter notebook,脚本都是写在本机的,这点难以协同开发。本博客将阐述jupyterhub的安装,方便在服务器上写jupyter。安装过程参考:https://jupyterhub.readthedocs.io/en/stable/quickstart-docker.html提前安装docker,步骤略。使用如下命令进行下载并且启动镜像...
2020-03-13 16:30:21
2065
原创 java-log4j2的配置实战
背景spring boot项目中用了log4j2,配置的设置只是重复的轮子,博主进行一下记录和分享。实战log4j2.xml<?xml version="1.0" encoding="UTF-8"?><!--设置log4j2的自身log级别为warn --><configuration status="warn"> <propertie...
2020-02-26 15:02:49
209
原创 效率提升-windows空间优化工具spacesniffer
背景最近在家里办公,是windows系统,C盘空间快红了,现在优化一下。博主推荐使用spacesniffer工具来辅助。实践打开spacesniffer工具,直接进行扫描,可以看到使用空间被非常直观的方式被展示出来了,方便我们去删除。这里gradle的空间很大,是之前搞android的时候留下的。。。剩下的小伙伴们自己用用体会体会吧。...
2020-02-23 22:57:16
1008
原创 操作系统-linux-centos7安装google的bbr加速
背景同事推荐ecs上安装google的bbr加速,可以提升网络吞吐。本文将进行记录。实战安装和重启wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh安装完成后会提示重启。重启ech...
2020-02-14 16:42:41
680
原创 框架编程-spring-redisTemplate访问多数据源实现
背景在使用spring boot 2.x做项目的时候,需要访问多个数据库db,本博客讲进行实战展示实战思路:每一个redisTemplate实例只能访问一个对应的db,所以我们需要做多个redisTemplate实例,并且每个实例必须有自己对应的连接工厂。package com.ztjy.contentrank.common;import com.alibaba.fastjson.pa...
2020-02-14 09:24:31
387
原创 数据库-解决Lock wait timeout exceeded; try restarting transaction
背景有一次在操作alpha环境的表过程中,因为网络问题,导致锁表,有以下提示:Lock wait timeout exceeded; try restarting transaction解决过程问题如下:查看锁住的thread:SELECT * FROM information_schema.innodb_trx \G杀掉对应的thread:kill 17901;问题解决:...
2020-02-13 11:45:40
1260
1
原创 数据挖掘-pandas-读取mysql
背景pandas经常用来读取不同数据源的数据进行分析,本博客实战读取mysql的结构化数据。实战依赖模块:import pandas as pdfrom sqlalchemy import create_engineengine = create_engine('mysql+pymysql://szy:yP0tfUTHvP5q@alpha-mysql.szy.com:3306/dbar...
2020-02-13 10:18:01
226
原创 python-疑难杂症-zadd报错
错误复现正常使用zadd报错r = redis.StrictRedis(host=xxxxx)d = dict()d['1231'] = 123r.zadd(d)redisError: ZADD requires an equal number of values and scorespython版本:3.6.1错误定位在另外一个环境3.6.5,运行代码,正常。 说明是版本问题...
2020-02-10 11:55:03
2030
原创 python-在python中实现java的hashCode函数
背景今天有个需求,需要用python实现java的hashCode分表。本博客将把这个操作记录下来,以免以后重复造轮子。实现def hash_code(s): h = 0 if len(s) > 0: for item in s: h = 31 * h + ord(item) return h ...
2020-01-29 20:23:42
2900
原创 开源项目-基础环境部署
背景众多的开源项目都是基于mysql存储,redis缓存,spring boot开发的。本博客主要是把基础环境的部署进行文档记录。环境部署服务器,阿里云系统环境, linux centos部署方法,docker添加基础用户adduser wang# 添加密码passwd wang# 添加sudo权限vi /etc/sudoers # 在100行后添加(原则是:模仿ro...
2020-01-26 10:27:34
454
原创 机器学习-java调用机器学习pai的LR模型
背景最近在使用阿里的机器学习pai进行模型训练,训练出来的模型需要给java进行调用来使用。本博客阐述java调用pmml进行预测的过程。实战获取pmml模型在机器学习pai->模板实验->心脏病预测,可以直接训练并且导出模型,具体步骤参考:https://help.aliyun.com/document_detail/34929.html?spm=a2c4g.11186623...
2020-01-14 16:56:38
940
SpaceSniffer.zip
2020-02-23
10w文章标题数据(仅供学习使用)
2020-02-18
lr_demo.pmml
2020-01-14
资料and停用词典.zip
2020-01-02
cifar-10-python.tar.gz的下载资源
2019-09-05
VGG_ILSVRC_16_layers_fc_reduced.caffemodel.txt
2019-08-23
VOCtrainval_11-May-2012.tar训练测试数据下载
2019-08-23
TCP-IP详解.卷三:TCP事务协议,HTTP,NNTP和UNIX域协议
2012-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人