自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lin 的博客

热爱编程,热爱技术。

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

原创 读取Java项目中src/main/resources下的json文件

abc.json文件结构:[{“name”: John, “age”: 18}, {“name”: Joe, “age”: 20}, {“name”: Bob, “age”: 80}, {“name”: Green, “age”: 30}]File jsonFile = ResourceUtils.getFile(“classpath:abc.json”);https://segmentfa...

2019-07-19 15:20:23 4027

原创 Json库

一. 简介和优劣1.Google的GsonGson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,但自从在2008年五月公开发布第一版后已被许多公司或用户应用。Gson的应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。而在使用这种对象转换之前需先创建好对象的类型以及其成员才...

2019-07-19 15:15:48 244

原创 mybatis中#{}和${}的区别及order by的sql注入问题

mybatis的#{}和${}的区别以及order by注入问题原文 http://www.cnblogs.com/chyu/p/4389701.html前言略,直奔主题…#{}相当于jdbc中的preparedstatement${}是输出变量的值简单的说就是#{}传过来的参数带单引号’’,而${}传过来的参数不带单引号。你可能说不明所以,不要紧我们看2段代码:String sq...

2019-07-19 14:57:25 1088

原创 mysql分组取每组前几条记录(排名) 附group by与order by的研究

--按某一字段分组取最大(小)值所在行的数据/*数据如下:namevalmemoa2a2(a的第二个值)a1a1--a的第一个值a3a3:a的第三个值b1b1--b的第一个值b3b3:b的第三个值b2b2b2b2b2b4b4b4b5b5b5b5b5b5*/...

2019-07-05 11:55:57 1687

原创 MockMvc - SpringMVC单元测试的独立测试:

★  MockMvc - SpringMVC单元测试的独立测试:一、简介为何使用MockMvc?        对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环...

2019-07-05 11:47:40 323

原创 Gatling 测试脚本编写及 API 介绍

Gatling基于Scala开发的压测工具,我们可以通过录制自动生成脚本,也可以自己编写脚本,大家不用担心,首先脚本很简单常用的没几个,另外gatling封装的也很好我们不需要去专门学习Scala语法,当然如果会的话会更好。脚本示例import io.gatling.core.Predef._import io.gatling.http.Predef._import scala.co...

2019-06-28 19:47:31 1539

原创 pydicom笔记

处理医疗影像的Python利器:PyDicomhttps://zhuanlan.zhihu.com/p/59413289dicom文件预处理https://blog.csdn.net/qq_35358021/article/details/82857439

2019-06-28 19:45:18 6942

原创 mysql 解析表格的json类型数据

问题解析Mysql表的json字段解决办法JSON_EXTRAC表里table有一个extra字段,字段是text类型,数据为json格式 {"value":"abc"}通过jSON_EXTRACT可以获取json里面value对于的值JSON_EXTRACT(table.extra,'$.value')得到 "abc"如果想去除两侧引号,需要先做类型转换再做trim...

2019-06-24 11:41:59 1096

原创 Kafka学习

kafka简介Kafka 是LinkedIn 开发的一个高性能、分布式的消息系统,广泛用于日志收集、流式数据处理、在线和离线消息分发等场景。虽然不是作为传统的MQ来设计,在大部分情况,Kafaka 也可以代替原先ActiveMQ 等传统的消息系统。Kafka 将消息流按Topic 组织,保存消息的服务器称为Broker,消费者可以订阅一个或者多个Topic。为了均衡负载,一个Topic 的...

2019-06-02 19:18:17 186

原创 GeoJsonPoints的问题

项目里存储车辆位置用到了mongdb的GeoJsonPoints,但是报错说反序列化找不到默认的构造器(no args construtor like new GeoJsonpoints(){}…)查找了相似的问题和帖子:https://stackoverflow.com/questions/52915203/jackson-serialize-geojsonpoint-as-latitud...

2019-06-02 14:33:53 1990 1

原创 Spring笔记

1、springboot获取当前项目路径的地址 System.getProperty("user.dir")2、springboot获取项目根目录classpath//获取根目录File path = new File(ResourceUtils.getURL("classpath:").getPath());if(!path.exists()) path = new File(...

2019-05-29 15:35:09 91

原创 JVM 调优

java 应用1 cpu 负载过高1.1 分析问题 首先我们通过top 命令进行分析,找出消耗最多cpu的java 进程id 。 找出对应的进程id 后,我们可以通过 top -Hp 进程id 命令来找出该进程中占用cpu最多的前几个线程id。 我们使用 jstack -l 进程pid > /tmp/java_pid.log 输出java的堆栈日志到文...

2019-05-29 14:52:33 159

原创 外观模式(Facade模式)

在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而降低系统的耦合度,这就是外观...

2019-05-28 23:25:34 524

原创 UML中的类图及类图之间的关系

统一建模语言简介统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标准。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。统一建模语言能为软件开发的所有阶段提供模型化和可视化支持。而且融入了软件工程领域的新思想、新方法和新技术,使软件设计人员沟通更简...

2019-05-28 23:24:34 219

原创 GoF 的 23 种设计模式的分类和功能

设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。1. 根据目的来分根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式3 种。创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式:用于描述如何将类或对象按某种布局组...

2019-05-28 21:45:52 219

原创 七大设计原则----合成复用原则

合成复用原则的定义合成复用原则(Composite Reuse Principle,CRP)又叫组合/聚合复用原则(Composition/Aggregate Reuse Principle,CARP)。它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭...

2019-05-28 21:41:28 595

原创 Java的BitSet类用法

1,BitSet类大小可动态改变, 取值为true或false的位集合。用于表示一组布尔标志。此类实现了一个按需增长的位向量。位 set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet 修改另一个 BitSet 的内容。默认情况下,set 中所有位的...

2019-05-20 16:36:22 1872

原创 @RequestMapping的参数和用法

2018年10月26日 18:17:23 小仙。 阅读数:6216版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者。https://blog.csdn.net/weixin_43453386/article/details/83419060@RequestMapping的参数和用法一、简介二、属性1、value1)说明2)示例a.普通...

2019-05-20 16:33:40 8612

原创 线段树总结

参考http://www.cnblogs.com/TenosDoIt/p/3453089.htmlhttp://dongxicheng.org/structure/segment-tree/http://bookshadow.com/weblog/2015/08/13/segment-tree-set-1-sum-of-given-range/Note”对于包含n个叶子节点的完全二叉树,...

2019-05-06 18:51:35 94

原创 218. The Skyline Problem

A city’s skyline is the outer contour of the silhouette formed by all the buildings in that city when viewed from a distance. Now suppose you are given the locations and height of all the buildings as...

2019-05-06 18:39:13 269

原创 295. Find Median from Data Stream

Median is the middle value in an ordered integer list. If the size of the list is even, there is no middle value. So the median is the mean of the two middle value.For example,[2,3,4], the median is...

2019-05-06 17:34:32 123

原创 212. Word Search II

问题Given a 2D board and a list of words from the dictionary, find all words in the board.Each word must be constructed from letters of sequentially adjacent cell, where “adjacent” cells are those hor...

2019-05-06 17:10:39 134

原创 191. Number of 1 Bits

问题Write a function that takes an unsigned integer and return the number of ‘1’ bits it has (also known as the Hamming weight).Example 1:Input: 00000000000000000000000000001011Output: 3Explanation...

2019-05-06 16:59:15 158

原创 210. Course Schedule II

QuestionThere are a total of n courses you have to take, labeled from 0 to n-1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed a...

2019-05-06 15:40:35 82

原创 134. Gas Station

Gas StationMediumThere are N gas stations along a circular route, where the amount of gas at station i is gas[i].You have a car with an unlimited gas tank and it costs cost[i] of gas to travel fr...

2019-05-06 15:28:36 108

原创 168. Excel Sheet Column Title

Given a positive integer, return its corresponding column title as appear in an Excel sheet.For example:1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB ...Example 1:Input: ...

2019-05-06 15:01:38 80

原创 175. Combine Two Tables

Combine Two TablesTable: Person+-------------+---------+| Column Name | Type |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------...

2019-05-06 14:29:09 85

原创 176. Second Highest Salary

Second Highest SalaryWrite a SQL query to get the second highest salary from the Employee table.+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+---...

2019-05-06 14:21:57 130

原创 Python MethodType方法详解和使用

引言室友刷题,刷到一个python的优先队列的题目,py的优先队列无法自定义排序(无法理解), 然后尝试自己手写自定义的比较函数动态添加到堆节点的类上,于是查到了用method Type动态注入。特此记录一下。python 中MethodType方法详解和使用测试环境:python2.7#!/usr/bin/python# -*-coding:utf-8-*-from types i...

2019-05-04 21:44:19 2046

原创 177. Nth Highest Salary

Write a SQL query to get the nth highest salary from the Employee table.+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+For example, g...

2019-05-04 21:28:14 206

原创 178. Rank Scores

Rank ScoresSQL SchemaWrite a SQL query to rank scores. If there is a tie between two scores, both should have the same ranking. Note that after a tie, the next ranking number should be the next co...

2019-05-04 21:17:59 110

原创 MongoDb学习总结

引言项目在使用 spring-data-mongodb 来操作 Mongo 数据库的过程中,经常会使用到 MongoTemplate 来增删改查我们的数据。而关于插入数据这一块 MongoTemplate 则提供给我们 insert、save 这两个函数。这里简单的介绍下这两者的区别。区别插入重复数据insert: 若新增数据的主键已经存在,则会抛 org.springframework....

2019-05-04 21:12:33 690

原创 636. Exclusive Time of Functions

题目 计算函数执行时长。On a single threaded CPU, we execute some functions. Each function has a unique id between 0 and N-1.We store logs in timestamp order that describe when a function is entered or exit...

2019-05-01 13:35:33 172

原创 318. Maximum Product of Word Lengths

Maximum Product of Word LengthsGiven a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word...

2019-05-01 11:29:39 112

原创 悲观锁与乐观锁

引言乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系...

2019-04-30 18:03:20 156

原创 长URL链接转短链接算法

引言最近看到微博的短链接真是很火啊,新浪、腾讯、搜狐等微博网站都加入了短链接的功能。之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少。短链接的主要职责就是把原始链接很长的地址压缩成只有6 个字母的短链接地址,当我们点击这6 个字母的链接后,我们又可以跳转到原始链接地址。开始以为短链接是按照某种算法把原始链接压缩为短链接,再根据算法从短链接反...

2019-04-27 17:29:37 10940 2

原创 分布式事务与一致性算法Paxos & raft & zab

1.CAP原理要想数据高可用,就得写多份数据写多分数据就会导致数据一致性问题数据一致性问题会引起性能问题2.一致性模型弱一致性最终一致性(一段时间达到一致性)强一致1、2 异步冗余;3是同步冗余3. 扩展服务的方案数据分区: uid % 16数据镜像:让多有的服务器都有相同的数据,提供相当的服务(冗余存储,一般3份为好)4.两种方案的事务问题A向B汇钱,两个用户不在一个...

2019-04-27 13:43:23 268

原创 消息队列

原文:https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/data-communication/message-queue.md一 什么是消息队列二 为什么要用消息队列(1) 通过异步处理提高系统性能(削峰、减少响应所需时间)(2) 降低系统耦合性三 使用消息队列带来的一些问题四 JMS VS A...

2019-04-27 13:39:23 125

原创 HashMap多线程死循环问题

HashMap多线程死循环问题HashMap不是线程安全的,在被多线程共享操作时,会有问题,具体什么问题呢,一直没有个清晰的理解,今天写了个测试程序调了一下,才明白其中道理。主要是多线程同时put时,如果同时触发了rehash操作,会导致HashMap中的链表中出现循环节点,进而使得后面get的时候,会死循环。【关于什么是rehash,读者可以自行去google了】本文主要参考了:http:...

2019-04-25 22:32:56 787

原创 采用线程池同步、异步处理任务

目的采用线程池进行异步任务处理线程池创建线程池阿里JAVA编码规约,建议采用ThreadPoolExecutor创建线程池。private static ExecutorService simpleExecutorService = new ThreadPoolExecutor( 200, 300, 0L, TimeUnit...

2019-04-25 22:08:46 3975

空空如也

空空如也

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

TA关注的人

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