自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lewis

保持好奇心

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

原创 记一次天池比赛 - 性能挑战赛道

叨叨吐槽一下csdn,现在做的越来越拉胯,查个资料都需要登录之后才能复制代码,这吃相越来越难看,那我为啥还写呢?我实在懒得换平台了闲的无聊的记录,就是分享一下自己的一点点心得,有什么建议欢迎提出比赛链接:天池-云上开发,高效智能–阿里云ECS Cloudbuild开发者大赛性能挑战赛道我参赛的源码github链接赛题赛题背景基于公共云构建产品、系统和应用已经是当前最热门的技术趋势了,公共云不仅提供了非常丰富的基础设施资源类型,如服务器、网络、存储和数据库等资源,还为这些资源提供了极高的可靠

2021-11-06 16:15:10 492

原创 【How-to】性能与扩展性的一点思考

最近在做性能测试,发现的一些问题和《Java 并发编程》里:”性能与可伸缩性“一章,所描述的场景相似,这里将这部记录、分享出来。问题描述QA 发起一笔5并发请求,请求完之后显示超时,测试的第一天立刻检查了日志,发现日志并没有打完,并没有太在意,于是就放到那里了。之后第二天又再次检查了一遍,发现这5笔交易的日志并不是没有打印完毕,而是约在15分钟之后(开始:22:46 -- 结束:23:02)打印出来了,全部都是显示事务超时。问题分析我检查了这个接口的超时耗时配置为(250s)。所以如果这里.

2021-03-21 15:33:33 158

原创 【How to】浅谈 Java web应用的优化

前言最近项目快要上线了,趁着现在有点想法、有时间就写点文字记录一下web应用优化之数据库web应用最最最明显、最最最重要的优化点就是SQL语句了。大家经常自嘲后端不就是个 CRUD boy嘛,增删改查就完事了。其实说的完全没错,能把CRUD 弄好,那web 应用其实就解决了80%的问题。那CRUD 的可优化点在哪里呢?SQL 查询优化表的查询自然是第一位,良好的查询语句是高性能的第一步。建立合适、良好的索引可以使查询效率成倍的增长。但是错误的,不良的索引会使数据库性能下降,应用变慢。比如

2021-03-16 23:17:26 222

原创 记录一次maven JVM 调优

记录一次maven JVM 调优前言记录一次无(摸)聊(鱼)的GC 调优过程,本着学以致用、务实求真的精神,看了《深入理解Java虚拟机》中作者对自己的开发ide eclipse 工具做了JVM 调优,觉得很有意思。感觉这个确实是可以用自己的知识来提升开发效率,所以就有了这次的玄学调优之旅,文中如果有错误,希望能够指出,非常感谢。优化背景我本人目前有个工作上的项目,编译的时间大概需要30多秒,这次的目标就是从JVM的层面折腾、优化编译速度,那么就开始吧编译时间基准线优化前的编译时间,先

2020-12-15 00:59:20 472

原创 【How to】Java后端开发技能树

前言关于本博客是有关后端开发的技能树总结,目标是涵盖后端开发相关的相关语言知识及相关的中间件,性能测试、性能调优等各个方面的总结。同时也是自我总结、记录的过程。文章会长期进行维护。正文测试(性能)相关Jmeter著名的性能测试工具,基于Java的压力测试工具火焰图Java方法性能分析,通过对JVM方法栈定时采样,生成全局方法的“火焰”图,相关的热点方法就像火焰一样直观的展示出来Github地址:https://github.com/jvm-profiling-tools/async-pro

2020-07-19 14:47:12 645

原创 【How To】如何写出易于测试的代码?

无关的前言,一点小心得最近一直在疯狂敲码,感觉自己对代码设计和抽象越来越得心应手了,开始享受代码抽象的这个过程,每个模块就像精心设计的一个个小玩具,精巧优雅,看着让人舒服,这时候开始体会到设计模式中的思想,为什么要遵循:开闭原则,为什么要面向对象,代码也可以写的很美正题我最近又在思考测试对项目的意义和实践,毫无疑问测试是开发中可以说是最最最重要的东西了,但是往往测试时常给我们的感觉就是困难、不想写、不想做,我总结了这几点:测试的成本是巨大的,包括时间成本、资源成本测试的外部环境依赖很多,或者有时

2020-05-13 23:43:23 398

原创 Jetbrains 的一个解密游戏

一个游戏Jetbrains 官方发起了一个 游戏地址 ,奖品是 Jetbrains 全家桶的 3个月使用授权。那我们开始吧。第一个谜题

2020-03-15 16:20:20 465

原创 什么是学习的本质?

知其然始于一条点赞今天打开CSDN,发现有一条消息,我点开之后,发现有个用户点赞了我很久之前的一篇博文,内容是关于(miller robin) 快速判断大素数的算法的文章,我对着文章发呆了好久,这篇文章是我竞赛时的笔记博文。遗憾的是,现在的我已经完全看不懂这篇文章讲的是什么了,我现在一度好奇我那时候究竟是在干什么,我从我短暂的竞赛学习生涯中究竟获取了什么呢?我究竟在这个过程中获得了什么能力呢?...

2020-02-25 23:56:50 647

原创 聊聊前端和后端

前言真是很久都没有更新了。其实有没有人看我也不太确定,博客对我自己来说更多是对技术的总结和对生活、工作的一种记录形式。是一种比朋友圈更加深度、全面的记录。有没有人来看其实都不是重点。嗯其实很久没有更新,确实是更多的是无话可说。有时候翻翻之前的大学时期的记录,感觉更有意思一些。现在工作了,理论上接触的知识的深度和广度都更多,但是其实恰恰相反的一种状态。感觉人已经处于一种麻木的状态了,被工作业务的...

2019-05-18 18:25:54 621

原创 Java元数据和元编程的胡诌诌

今天来简单说说java的元编程与元数据。 为什么想要说这样一个话题,目前其实在java的框架中就会大量应用到元编程、而在我的工作之中会大量使用到元数据进行应用开发。下面先元数据元编程...

2019-02-07 20:23:04 2488

原创 Controller 层 最佳实践相关文章整理

https://github.com/kinginblue/KingBlogSamples/blob/3684865a4b60c9b56acf104e66dbb0b70e6164a5/exception-handler/README.md

2018-09-26 18:25:14 270

原创 观察者模式实现的 `发布/订阅` 模型

发布者package indi.lewis.pub;import java.util.Observable;import java.util.Observer;import java.util.Random;/** * 发布者 * * @author xiaodongxu * @see Observable * @since 1.0 */public class P...

2018-08-31 18:47:34 224

原创 闲聊之程序员的职业发展

前言好的,现在是2018年7月29日。是的,本篇博文又是闲聊。不过这次闲聊开始有主题了,这次聊的主题是关于程序员的职业发展。一点个人的小小心得,写出来与君共勉。先说结论要弄明白自己真正想要的是什么!要弄明白自己真正想要的是什么!要弄明白自己真正想要的是什么!(重要的话说三遍)环境很重要!不要轻易裸辞!这是正文本人是才毕业的互联网码农小白一枚,工作时间快一年了。我...

2018-07-29 23:33:30 518 2

原创 闲聊

闲聊语言上的想法:最近在看一点fp(函数式编程)的东西,于是顺着这个东西又看了rfp(响应函数式编程)一些乱七八糟的东西。感觉这个东西目前是一个趋势,Java9也同样引入了reactive programing。各种语言慢慢的趋向一个大同时代。reactive programing内部也大量的使用了函数式的编程。无论是vert.x,还是spring的webFlux都是Java在响应式编程的一...

2018-06-04 12:50:31 311

原创 纷享销客 java开发实习生面经

快速排序,二分,八皇后数据库:给出学生表求平均成绩并指出执行流程java:4种线程池及工作原理,包装类型与值类型的比较http与https被抓包后的内容是否可见spring注解中autowired的工作原理redis的主从强一致性的问题linux:内存,cpu使用情况命令,程序运行状态。文件大小命令MongoDB :没学过

2017-11-26 10:51:07 1828

原创 Java内存模型与垃圾回收

java内存模型堆存储对象数据Eden区\新生代s0区(from)\新生代s1区(to)\新生代tenured区\老年代栈解决程序运行问题,即程序如何执行,或者说如何处理数据存储局部变量,引用主要有三部分组成:局部变量表:用于函数报错的参数及局部变量操作数栈:保存计算过程的中间结果,作为计算过程的变量临时空间。帧数据区:异常处理表方法区 (所有线程共享,永久区)辅助堆栈的

2017-11-19 23:59:45 427

原创 秋招闲扯

这篇博客随便扯扯,就不排版了~ 秋招基本接近结束了。目前在学校的附近找了一家小公司实习中,做关于比特币的场外交易,我目前负责交易所的API接入,感觉还是在搬砖的状态,sad~~ 秋招很遗憾的是目前还没有进入满意的公司,招聘市场给我的感觉是毕业生,初级人员非常多。根本不愁招人,招的人数又很少。供需关系是供多需少。大公司更是难进了。公司都是想着奇怪的方法来淘汰候选人(比如:如何测量一个云朵的质量这种奇怪

2017-11-14 22:31:09 331

原创 java并发编程--线程池

线程池为什么使用线程池?线程生命周期的开销非常高。1.频繁的创建,销毁线程需要使用额外的时间,资源。资源消耗1.若线程过多,会对系统造成巨大负担。2.空闲的线程过多,会占用大量的内存,给垃圾回收器带来压力。3.大量的线程竞争CPU会导致过多的CPU上下文切换的开销和性能开销,创建过多的线程会导致性能降低。稳定性1.在可创建的线程的数量上存在一个限制。过多的线程可能会导致OutOfMem

2017-11-09 10:32:51 427 3

原创 java并发编程--构造高效的结果缓存

声明:本文的程序样例以及程序的演进优化均来自《java并发编程实战》,个人觉得文章写的很好,加上一些自己的理解分享给大家。(原文在原书:85页开始)文章代码GitHub地址假设需求场景:几乎所有的服务器都有某种形式的缓存,如现在流行的redis,现在要构造一个缓存系统,用来存储一种非常耗时计算系统的结果,用来避免重复的计算和提高系统的响应,缓存系统会有多个线程并发访问。计算类的接口package c

2017-10-10 01:53:06 433 1

原创 java并发编程--锁和并发的小总结

个人对锁和并发的理解,说错欢迎纠错更正线程安全1 对象封闭(不做共享)1).该对象封闭在某个作用域内,如局部变量,其他线程无法访问 2).封闭在线程内,由某个线程独占,与上思路相同,不做对象共享ThreadLocal 的思想便是将对象封闭在线程上, ThreadLocal为每个使用该变量的线程提供独立的变量副本。2 锁 向 对象 加锁 ,确保不会多个线程发生竞争。3 对象本身

2017-09-25 00:50:01 422

原创 redis-入门命令笔记

redis 【第三章第一节】字符串类型的基本操作命令笔记//以下数据库命令与jedis方法一一对应。 SELECT [数字] //选择数据库127.0.0.1:6379> SELECT 1 OK 127.0.0.1:6379[1]> KEYS * //查询出所有的键127.0.0.1:6379[1]> KEYS * (empty list or set)

2017-06-15 01:38:57 326

原创 随手记java开发实习生面试

闲话大三暑假学校安排了实训计划,去一些公司体验实习,其实是去培训机构上课。8人一个宿舍,于是自己就开始了海投模式,现在基本弃疗了。。。投了8家,就一家回复了我。。。算了,还是去吧。没错我这次面试又是日常失败。总结下还是没有项目经验,很吃亏。一定要写个小项目啊,准备暑假按照教程写个分布式,然后看看spring,jdk的源码,面试都是会问的,数据库同样要加强。开始早上11点起床,发现面试官qq加我了,吓

2017-06-09 01:15:02 3758

原创 今日头条(Java后台研发)-一面挂

和面试官聊了(被虐)一个小时左右,大概就这些: 1.翻转链表 2.访问百度全过程(计算机网络,路由,http,https区别。。) 3.2个有序数组,找2个数组合并的第K大数字,O(1)空间 4.估算排队平均等待时间(数学题,没懂) 5.放置棋子,如何放置先手必赢(数学博弈。。) 6.在无序数组里,查找比自己相邻元素大的下标,O(logn)时间(不会)

2017-05-22 22:47:48 7239 2

原创 非抢占的高响应比优先调度算法

模拟操作系统进程调度算法流程图测试数据进程名: A B C D E 需要运行时间: 3 6 4 5 2代码实现#include<iostream>#include<cstdio>#include<string>#include<algorithm>#include<queue>#include<functional>usin

2017-04-30 00:31:05 8213 3

原创 大三的总结闲聊

现在在实验室,吃完饭很无聊,就写篇博文总结下最近这几个月吧,算是写给以后的自己看的吧。大三开学前2个月总算把黑马的J2EE视频基础看完(其实还剩一点~),看的想吐血,之后就是大家喜闻乐见的SSH框架,觉得太恶心就没学了(太懒了~)。不学框架又没事做,然后就买了2本书,effective java 和深入理解JVM,打算大学打好基础再说,框架什么的不着急。买回来后effective java大概看了有

2017-04-27 13:31:50 420 2

原创 魔数--咖啡宝宝(Java小彩蛋)

最近在看一点JVM的东西,然后发现了一个有趣的东西。觉得有趣又简单,每个人都可以做,于是分享给大家。 不废话开始正文。彩蛋实现步骤1.编译一个java文件随意编译一段java文件,然后得到java文件的字节码文件。即编译后的class文件,如图: 2. 16进制查看class文件我这里是使用Vim下以16进制查看class文件。使用: vim -b 文件名 查看文件 打开后输入命令 :%!

2017-04-14 20:28:12 2042 1

原创 Java多线程--生产者消费者模型(Semaphore实现)

需求要求:使用2个线程,分别代表:生产者、消费者。让他们并发的去生产、消费产品。生产的总数是不能超过N的。实现思路这里我们使用的是使用信号量去控制线程的生产消费,通过释放令牌的形式去控制生产者消费者的上限。使用互斥锁保证每次最多只有一个角色去修改共享变量。来看张图,一图胜千言。 代码实现代码的注释写的挺详细了,可以仔细阅读一下,若有不懂或者写错的地方欢迎留言。package model;impo

2017-04-12 21:53:01 6873 2

原创 java并行计算--Semaphore信号量的简单使用

多线程不仅适用于IO密集型任务,而且在计算型密集型任务也是同样很有优势,最直观的就是快嘛!先来假设一个任务场景:假设场景:有一个计算任务:需要先计算出A,B的结果,通过A,B结果得到C结果,通过A,B,C结果得到结果D,试用多线程完成任务!!分析我们知道线程的执行顺序具有不可预测性,那么直接使用4个线程去跑,那么由于执行顺序就会无法预测,结果的正确性就得不到保证,如何控制线程的执行顺序就成为最主要的

2017-03-29 22:00:00 1009

原创 fork分支与源分支同步代码

最进软件工程课程要团队开发做个网站项目,于是我在团队里推了使用github这种网站来协同开发,但是出现了个问题:fork后的代码无法 与源分支代码同步,导致fork分支的代码只有自己写的那部分,而不是各个分支merge之后的版本,查了一些资料终于解决,本文主要是靠(http://www.jianshu.com/p/79454cf00945)解决。以下给出解决方案。代码#查看所有远程库(remote

2017-03-21 13:30:21 4555

原创 java并发编程--共享对象的可见性

由于线程的执行顺序具有不可预测性,在多线程访问同一个变量可能会导致共享的变量会导致具有不可见性。还是先上一段代码: 这段程序不是线程安全,因为get和set都是都是在没有同步的情况下访问value的,与其他问题相比,失效值问题更容易出现:若某个线程调用了set,那么另一个正在调用get的线程可能会看到更新后的value值,也可能看不到(摘自《java线程并发实战》)。图示:解决方法是限制变量的修改

2017-03-16 22:00:50 650

原创 java并发线程安全,延迟初始化中的竞态条件。

现有线程A,B,对以下代码并发访问,获取实例。先来看一段代码:代码在以上代码中,理想是结果是线程A,B得到得到同一个实例对象,但是结果却并不绝对,有可能会得到2个不同的实例对象。在《java并发编程实战》书中描述为:在LazyInitRace 中包含了一个竞态条件,它可能会破坏这个类的正确性。假定线程A和线程B 同时执行getInstance 方法。A 看到instance 为空,因此A创建一个新的

2017-03-11 00:27:44 943

原创 BAT脚本一键启动多个程序

最近写代码,开机要开各种环境,IDE,每次都要对着桌面图标一个个点击,感觉非常麻烦,简直浪费生命,每天开机要花好几分钟打开这些东西,于是稍微学习了一下window下的bat脚本语言,写了一个极为简单而又实用的小脚本,一键将我需要的程序打开,感觉提高了整个人的辛福感啊,不用很烦的每天打开这么多软件。代码echo start echo QQ STARTstart /d "C:\Program Fil

2017-03-09 12:46:30 26370 1

原创 百度百科多线程网络爬虫

百度百科网络爬虫简介最近期末大作业又写了一个爬虫,与之前的不同的是这次的爬虫是多线程的爬虫,效率与之前相比提高很多。 之前早就写好了,现在才记起来写个博客,实际上这个爬虫还不算是完整版,还有个代理池的功能没写,然后在后面的测试中发现人家百度百科根本就不反爬虫(。˘•㉨•˘。),那就直接暴力的爬就好了,好了下面说思路爬虫基本设计基本功能类:1.com.Crawl 线程池维护数据的抓取,解析2.c

2016-12-26 01:47:21 2012

原创 Java链接Mysql中文问号乱码解决办法

最近写爬虫,准备把数据存到 数据库,但是一直出现 '?'乱码的情况,试了好多种方法,我是总结出只要有以下2种配置就不会出现乱码了。1. 需要在配置文件 my.ini 中加上默认字符编码为utf8:default-character-set=utf8[mysql]no-auto-rehash; Remove the next comment character i

2016-12-14 00:20:37 1557

原创 (Java)Lambda表达式简单入门学习

本文大部分内容摘自:https://www.shiyanlou.com/courses/539/labs/1829/document ,写了一些自己的理解在里面,代码也修改和修正了。Lambda表达式Lambda 表达式是在Java 8中引入的,并且成为了Java 8最大的特点。它使得功能性编程变得非常便利,极大地简化了开发工作。 语法一个Lambd

2016-10-30 17:47:35 6043

原创 爬虫:实现网站的全部图片抓取

--------------2018/12/11 update-------------------爬取的网站已经关闭,此爬虫已经失效,代码也不会再维护,不建议学习此代码等设计风格。写的实在挺烂(摔!感兴趣的同学浏览下就好。 -----2017-5-22再更新-----------------现在爬虫好像出问题了。。。。。。。。。好像很多同学都对这个感兴趣,那我就放到GitHu...

2016-10-22 16:49:00 15514 13

原创 坦克大战小游戏(Java)

按照教程写了一个Java小游戏,花了19天时间去抄了一遍,今天终于抄完了 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚github地址:https://github.com/qq1367212627/kuaidi此项目是根据尚学堂的马士兵老师的视频教程写的,有兴趣的同学可以搜索一下,以下是代码坦克游戏主程序package TankClient;impor

2016-10-06 18:46:02 1337

原创 Python简单知乎爬虫--爬取页面的图片并下载到本地

写了一个小爬虫,其实也算不上爬虫,只是抓取了页面的图片。这里主要是BeautifulSoup解析HTML源码,非常的方便啊,简直是神器,之前一直是使用正则表达式去解析非常痛苦啊!!!!这里是BeautifulSoup的中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/代码详细见注释,解释的非常清晰

2016-09-24 20:39:33 7135

原创 python实现查询天气

源教学地址:http://crossincode.com/course/lesson_list/这个小程序通过抓取 网页源代码,使用json解析,格式化字符实现了 天气的查询,但是我发现天气查询并不准确啊、、、、、、、、、,不知道这个网站的数据是什么情况。第一使用python,发现竟然不支持中文,喂,不是说说好的UTF-8吗?原来还要加上#coding=utf-8

2016-09-12 14:43:50 12809 1

原创 Java泛型编程

java核心技术的一些实例代码,但是一些代码在现在环境下貌似不能运行了,下面都是一些学习的小程序。泛型给我的感觉像是c++的模板类,但是核心技术这本书的作者一再强调2者其实有着很大的区别。好吧,目前就发现了一点与c++模板类的不同,边学边总结吧!!《c++模板类与java泛型的一些区别》1.java泛型是不能使用基本类型实例化泛型参数(例如:没有Stack,只有Stack)

2016-08-17 00:20:03 338

空空如也

空空如也

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

TA关注的人

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