首页
学习
活动
专区
工具
TVP
发布

Java工程师成长之路

专栏作者
210
文章
247849
阅读量
43
订阅数
spring-boot-lll-starter自动化框架介绍
spring-boot-lll-starter框架是经由我企业实战总结的一套,适用于项目起始构建的框架,适配了管理后台和微服务项目两种方案的代码生成
老梁
2020-04-30
4130
自己整理的所有java知识点 + uni-app总结
1. 自己整理的所有java知识点 + uni-app总结(不断迭代中) 点击图片跳转到具体内容 或者进入该页面搜Java整体,大小写都不能错,这坑的搜索引擎 你可能没有注册,那请点击 http
老梁
2019-10-25
4960
Excel解析工具easyexcel全面探索
之前我们想到Excel解析一般是使用POI,但POI存在一个严重的问题,就是非常消耗内存。所以阿里人员对它进行了重写从而诞生了easyexcel,它解决了过于消耗内存问题,也对它进行了封装让使用者使用更加便利
老梁
2019-10-25
4K0
Java中的参数验证(非Spring版)
1. Java中的参数验证(非Spring版) 1.1. 前言 为什么我总遇到这种非正常问题,我们知道很多时候我们的参数校验都是放在controller层的传入参数进行校验,我们常用的校验方式就是引入下列的jar包,在参数中添加@Validated,并对Bean对象的参数做不同的注解处理就行,对Spring这种常用做法大家应该比较熟了 但我现在遇到的需求,因为boss追求通用性,我们的controller入口只有一个,是通过传入参数中的不同tradeCode来区分调用哪个服务,这时我校验参数就得放到具体的每
老梁
2019-10-24
2.4K0
renren-fast后端源码参考-配置和对应工具
其中gson对象是来自qiniu-java-sdk,不需要的可以剔除或者一般国内就用fastjson
老梁
2019-09-10
1.6K0
aixcoder智能编程助手开发插件推荐
总之是个让你更快开发的工具,支持java,python,对 SpringBoot,TensorFlow,JFinal, Android 等编程场景进行了特殊适配。当然缺点就是免费版一天只有500次提示,但总比没有好,觉得好用就购买正式版吧,购买地址
老梁
2019-09-10
8240
Elementui实战知识点随记
1. Elementui实战知识点随记 1.1. 表单验证 对于复杂数据,类似于对象里面包含数组,每个数组又包含多个对象,表单验证我查看了网上很多资料都说Elementui不支持,实际上,经过我官网的查看,是有解决办法的,地址如下 https://element.eleme.cn/#/zh-CN/component/form 找到动态增减表单项这一项 核心如下 <el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-wi
老梁
2019-09-10
8010
Swagger2使用记录
1. Swagger2使用记录 1.1. Bean配置文件 @Configuration public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(R
老梁
2019-09-10
5550
swagger知识点补充
1. swagger知识点补充 1.1. 概述 在swagger的使用过程中,除了网上常见的例子,还会有很多细节上的东西需要注意和改写,这里我列几点我使用过程中遇到的问题和改进方式 1.2. 知识点
老梁
2019-09-10
4030
netty入门(一)
1. netty入门(一) 1.1. 传统socket编程 在任何时候都可能有大量的线程处于休眠状态,只是等待输入或者输出数据就绪,这可能算是一种资源浪费。 需要为每个线程的调用栈都分配内存,其默认值
老梁
2019-09-10
6890
对象规范
1. 对象规范 1.1. PO persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 1.2. BO business object业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 1.3. VO ViewObject表现层对象 主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。 1.4. DTO Dat
老梁
2019-09-10
2470
Spark基础-scala学习(七、类型参数)
类型参数是什么 类似于java泛型,泛型类 泛型函数 上边界Bounds 下边界 View Bounds Context Bounds Manifest Context Bounds 协变和逆变 Existential Type 泛型类 scala> :paste // Entering paste mode (ctrl-D to finish) class Student[T](val localId:T){ def getSchoolId(hukouId:T) = "S-"+hukouId+"-"+
老梁
2019-09-10
6520
Spark基础-scala学习(五、集合)
集合 scala的集合体系结构 List LinkedList Set 集合的函数式编程 函数式编程综合案例:统计多个文本内的单词总数 scala的集合体系结构 scala中的集合体系主要包括:Iterable、Seq、Set、Map。其中Iterable是所有集合trait的根trait。这个结构与java的集合体系非常相似 scala中的集合是分成可变和不可变两类集合的,其中可变集合就是说,集合的元素可以动态修改,而不可变集合的元素在初始化之后,就无法修改了。分别对应scala.collection.m
老梁
2019-09-10
5250
Spark基础-scala学习(四、函数式编程)
函数式编程 将函数赋值给变量 匿名函数 高阶函数 高级函数的类型推断 scala的常用高阶函数 闭包 sam转换 currying函数 return 将函数赋值给变量 scala中的函数是一等公民,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量 scala> def sayHello(name:String){println("Hello, "+name)} sayHello: (name: String)Unit scala> sayHello("tom") Hello, tom scal
老梁
2019-09-10
6720
Spark基础-scala学习(三、Trait)
面向对象编程之Trait trait基础知识 将trait作为接口使用 在trait中定义具体方法 在trait中定义具体字段 在trait中定义抽象字段 trait高级知识 为实例对象混入trait trait调用链 在trait中覆盖抽象方法 混合使用trait的具体方法和抽象方法 trait的构造机制 trati字段的初始化 让trait继承类 将trait作为接口使用 trait作为接口,和java中的接口非常类似 在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现
老梁
2019-09-10
4080
Spark基础-scala学习(二、面向对象)
面向对象编程之类 //定义一个简单的类 scala> :paste // Entering paste mode (ctrl-D to finish) //类默认public的 class HelloWorld{ private var name = "leo" def sayHello(){print("Hello,"+name)} def getName = name } // Exiting paste mode, now interpreting. defined class Hel
老梁
2019-09-10
6260
rabbitmq系统学习(二)
Rabbitmq高级整合应用 RabbitMq整合Spring AMQP实战 RabbitAdmin 使用RabbitTemplate的execute方法执行对应操作 rabbitAdmin.declareExchange()//声明 rabbitAdmin.declareQueue() rabbitAdmin.declareBinding() rabbitAdmin.declareBinding(BindingBuilder.bind(new Queue("test.topic.queue",false
老梁
2019-09-10
6930
itext7知识点研究(PDF编辑)
static class MyEventListener implements IEventListener { private List<Rectangle> rectangles = new ArrayList<>(); @Override public void eventOccurred(IEventData data, EventType type) { if (type == EventType.RENDER_TEXT) { TextRenderInfo renderInfo = (TextRenderInfo) data; Vector startPoint = renderInfo.getDescentLine().getStartPoint(); Vector endPoint = renderInfo.getAscentLine().getEndPoint(); float x1 = Math.min(startPoint.get(0), endPoint.get(0)); float x2 = Math.max(startPoint.get(0), endPoint.get(0)); float y1 = Math.min(startPoint.get(1), endPoint.get(1)); float y2 = Math.max(startPoint.get(1), endPoint.get(1)); rectangles.add(new Rectangle(x1, y1, x2 - x1, y2 - y1)); } } @Override public Set<EventType> getSupportedEvents() { return new LinkedHashSet<>(Collections.singletonList(EventType.RENDER_TEXT)); } public List<Rectangle> getRectangles() { return rectangles; } public void clear() { rectangles.clear(); } } static class MyCharacterEventListener extends MyEventListener { @Override public void eventOccurred(IEventData data, EventType type) { if (type == EventType.RENDER_TEXT) { TextRenderInfo renderInfo = (TextRenderInfo) data; for (TextRenderInfo tri : renderInfo.getCharacterRenderInfos()) { super.eventOccurred(tri, type); } } } }
老梁
2019-09-10
2.4K0
ElasticSearch权威指南学习(映射和分析)
"Set the shape to semi-transparent by calling set_trans(5)"
老梁
2019-09-10
1.1K0
java相关技术问答(二)
String为什么是final的 首先是为了安全性,final表示不可变,不可被继承,不能修改其方法保证安全 在多线程环境下,final类型的String保证线程安全 String支持字符串常量池,相同字符串可以指向相同地址 cas原理讲下 cas算法包含三个参数,v需要更新的变量,e预期值,n新的值 进入cas算法时,会先记录更新变量值,然后进入compareAndSwap方法,判断v是否等于e,相等说明v值没有被改变,那v值更新成n值 线程池线程数配置多少合适? 需要根据所执行的任务类别来区分 分为cp
老梁
2019-09-10
3480
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档