QingFeng-Li的博客

私信 关注
青蛙与大鹅
码龄4年

只在攀登巅峰的人! 不会再中途的脚印中迷醉!

  • 889,077
    被访问量
  • 41
    原创文章
  • 22,467
    作者排名
  • 589
    粉丝数量
  • 于 2016-12-14 加入CSDN
获得成就
  • 获得386次点赞
  • 内容获得148次评论
  • 获得1,377次收藏
荣誉勋章
兴趣领域
  • #数据库管理
    #数据仓库#数据库架构#etl工程师#DBA#数据库开发
TA的专栏
  • jvm成长之路
    6篇
  • springboot学习之路
    15篇
  • mybatis-plus从入门到精通
    6篇
  • 设计模式
    1篇
  • 数据结构与算法
    2篇
  • 死磕springcloud
  • jvm虚拟机学习
    6篇
  • 日积月累
    34篇
  • 程序人生
    22篇
  • 区块链
    3篇
  • java
    29篇
  • java面试
    4篇
  • git
    2篇
  • springboot
    22篇
  • 遇见过的问题
    4篇
  • 线程
    2篇
  • mongo
    2篇
  • redis
    1篇
  • 设计模式
  • rabbitmq
    2篇
  • mybatis plus
    6篇
  • mysql
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

快速排序算法----代码图解以及优化

快速排序(Quick Sort)的基本思想是:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字都比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,最后以达到整个序列有序的目的。通过上方的基本思想不能明确的理解整个快速排序的思想,那么下面我们先通过图表的形式来分解一下快速排序的基本思想,在通过代码的形式进行明确的讲解。例如数组 : int[] arr = {50, ...
原创
638阅读
0评论
2点赞
发布博客于 2 年前

冒泡排序算法---代码图形化详解以及优化

很长时间没有写博客了,这段时间迎接了我的下一代宝贝,是人生中很幸福的一件事。今天我给大家介绍一下冒泡排序算法吧。不论哪种语言,在介绍到数组和循环的时候都会说到冒泡排序,并不是它的名字好听而是冒泡排序算法是思路最简单,最容易理解的,那么我们还是通过这个冒泡排序来开启我们算法的排序之路吧。1 最简单的排序实现冒泡排序(Bubble Sort)一种交换排序,它的基本思想是:两两比较相邻记录的值,如果...
原创
395阅读
0评论
2点赞
发布博客于 2 年前

mysql的逻辑架构和事务介绍

注明:数据库的使用是开发必备的一项技能,mysql是现在主流的关系型数据库,在学习mysql的过程中将自己学到的知识分享出来,同时也给自己做份笔记增加印象。在学习mysql的过程中如果脑海中能形成一幅mysql的逻辑架构图,就会有助于深度理解mysql。那么下面来说下mysql的逻辑架构图吧一、mysql的逻辑架构mysql的链接管理与安全性每个客户端发起链接都会在服务器层的链接/线程处理...
原创
541阅读
0评论
1点赞
发布博客于 2 年前

postman传递list集合后台springmvc接受

在做项目的时候我们可能会遇见一些场景需要前端给后端传递某个实体类的集合,这个时候后端的接口写完了,需要进行接口的测试,这里我使用的是postman进行接口测试,下面写下在用postman进行接口测试传递list集合的经验。欢迎指正postman 设置postman的安装过程这里就不介绍了,直奔主题吧首先确定你的请求方式是什么,填写你的url路径当你的url和请求设定好之后,就需要我们去...
原创
27401阅读
10评论
4点赞
发布博客于 3 年前

Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerExcepti

说明 : 今天在用springboot搭建微服务springcloud Eureka的时候遇见了两个启动错误,在这里标注一下看下错误信息吧"C:\Program Files\Java\jdk1.8.0_101\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:53733,suspend=y,server=n -...
原创
54950阅读
10评论
1点赞
发布博客于 3 年前

(六)springboot + mybatis plus实现多表联查分页3.X版本

注明 : 上两篇文章我们讲解了springboot+mybatis-plus对于单表的CRUD和条件构造器的使用方法,但是对于我们的实战项目中多表联查也是经常会出现的。今天我们就来说下怎么在springboot+MP模式下实现多表联查并分页。项目源码下载位置 | giteeMP推荐使用的是一种苞米豆团队自己封装好的分页插件,也就是PaginationInterceptor分页拦截器,那么下面我...
原创
36818阅读
12评论
22点赞
发布博客于 3 年前

(五)springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper

注明:上篇文章介绍了springboot+mybatis-plus通用CRUD的用法,这篇文章我们来介绍一下mybatis-plus强大的条件构造器。mybatis-plus的版本为最新版3.0.3 。条件构造器咱们讲述queryWrapper和updateWrapper的用法、关系、以及强大之处。首先在这里写下官方文档的链接位置,官方文档说的很详细。如果还想知道在项目中的具体用法请往下看。...
原创
384302阅读
52评论
213点赞
发布博客于 3 年前

(四)springboot + mybatis plus详细拆解CRUD

吐槽 : mmp…, 谁能理解我现在的心情,这篇文章是第三次写了,吐槽一,谷歌最新版和搜狗输入法冲突导致浏览器崩溃的问题。真的mmp文章写到一半浏览器蹦了,再次恢复的时候文章没了。。。重写。吐槽二,csdn的Markdown编辑器为什么不自动保存。。。mmp第二遍重写。这是第三遍md。废话不说了开始说正事注明 : 本篇文章将介绍springboot+mybatis-plus通过AutoGener...
原创
19019阅读
2评论
13点赞
发布博客于 3 年前

(三)springboot + mybatis plus集成AutoGenerator快速搭建项目

注明 : AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。下文中也会有通过springboot集成mybatis-plus的AutoGenerator时踩过坑的单独介绍,闲话不多说直接上干货项目搭建...
原创
19363阅读
9评论
9点赞
发布博客于 3 年前

(二)springboot+mybatis plus快速构建项目

注明:我将通过一个Demo来阐述MyBatis-Plus的强大我的环境JDK1.8maven3.5.4开发工具ideaspringboot2.0.5mybatis-plus3.0.3mysql5.7上面是我的环境版本。对应的数据库脚本CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCH...
原创
6974阅读
3评论
5点赞
发布博客于 3 年前

(一)mybatis-plus详细介绍

注明 : 我写这篇mybaits-plus专栏主要是参考http://mp.baomidou.com/guide/这个中文文档进行的,目的是将此中文文档的内容和使用方法更加细致化的呈现给大家,让大家能更好的更快速更方便的掌握mybatis-plus。这里我只使用java语言进行讲解,通过springboot做案列分析结合maven管理工具进行演示。数据库使用mysql进行演示。那么童靴们咱们就开始...
原创
6151阅读
0评论
5点赞
发布博客于 3 年前

(十五)springboot实战rabbitmq --- Fanout模式

前几篇文章介绍了rabbitmq的原理介绍,springboot整合rabbitmq的direct模式和topic模式这篇文章我们来介绍一下Fanout广播模式rabbitmq的其他内容我就不介绍了,如果有直接使用广播模式的小伙伴建议读下前面的原理和其他模式的介绍这样能加深你的理解。没有理解原理的技术应用只是行尸走肉。其中的pom配置和application.properties配置相同。F...
原创
2197阅读
0评论
0点赞
发布博客于 3 年前

(十四)springboot实战rabbitmq --- Topic模式

这篇文章说的是rabbitmq的topic模式要想更好的了解rabbitmq请阅读[上一章direct模式](https://blog.csdn.net/m0_37034294/article/details/82842354)Topic Exchangetopic模式按规则转发是最灵活的一种匹配方式# 匹配一个或者多个* 匹配一个rounting_key(路由键) : 消息到交换机的...
原创
3057阅读
0评论
0点赞
发布博客于 3 年前

(十三)springboot实战rabbitmq --- direct模式

上篇文章介绍了rabbitmq的原理实现,如果不知道rabbitmq的原理实现的童鞋推荐先看下上篇文章在继续这章的实践。windows本地安装rabbitmq介绍springboot集成rabbitmq实战 ------ direct模式首先创建两个springboot项目一 生产者项目结构消费者项目结构1 pom文件添加spring-boot-starter-amqp支持 ...
原创
596阅读
0评论
0点赞
发布博客于 3 年前

(十二)springboot集成rabbitmq详解

RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿...
转载
254阅读
0评论
0点赞
发布博客于 3 年前

windows安装rabbitmq安装详细步骤

第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloads根据本机位数选择erlang下载版本。下载完是这么个东西:双击,点next就可以。选择一个自己...
转载
6274阅读
4评论
6点赞
发布博客于 3 年前

Logback configuration error detected的终极解决方案

今天在springboot项目中替换log4j2日志的时候遇见的问题,闲话不多说。错误日志Logging system failed to initialize using configuration from 'classpath:log4j2-dev.xml'java.lang.IllegalStateException: Logback configuration error dete...
原创
60043阅读
16评论
16点赞
发布博客于 3 年前

(十一)springboot获取配置值的3中方式(配置杀)

这篇文章介绍一些springboot获取配置文件中值的三种方式,闲话不多说,上代码1 @Value()获取application.properties配置boot.name=liqingfengboot.age=28boot.pswd=123456测试获取@RunWith(SpringRunner.class)@SpringBootTestpublic class DemoAp...
原创
253阅读
0评论
0点赞
发布博客于 3 年前

(一)单例模式之不同写法的性能比较

简介 : 设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是对某一特定问题的成熟的解决方案。如果能合理的使用设计模式,不仅能使系统更容易被他人理解,同时也能使系统拥有更加合理的结构。单例模式单例模式是设计模式之中使用最为普遍的设计模式之一,它是一种对象创建模式,用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例,在java中这样的行为能带来两个好处:对于...
原创
500阅读
0评论
0点赞
发布博客于 3 年前

(十)springboot整合mongo多数据源

介绍 : 在当前流行的NoSql数据库中,MongoDB是大家接触比较早和用的比较多的数据库。MongoDB是文档型的NoSql数据库,具有大数据量、高并发等优势,但缺点是不能建立实体关系,而且也没有事物管理机制。1 引入maven依赖 <dependency> <groupId>org.springframework....
原创
2152阅读
0评论
1点赞
发布博客于 3 年前

(九)spring boot 整合redis使用redisTemplate进行缓存?

这一篇内容介绍一下spring boot整合reids的过程和简单测试案例,这里就不介绍redis的特点什么的了,直接上干货1 pom.xml配置 <dependency> <groupId>org.springframework.boot</groupId>
原创
2219阅读
0评论
1点赞
发布博客于 3 年前

(三)springboot基本注解介绍--赋HelloWord

上一篇我们创建了一个完整的springboot项目,这里我先把上篇创建好的项目目录在这里展示一下,有利于下面的讲解 这就是上篇文章创建好的项目结构,这里需要注重提议几点入口类和@SpringbootApplication springboot 项目通常都会有一个*Application的入口,入口类中有一个main方法,这个main方法其实就是一个标准的java应用的入口,方法中使用...
原创
542阅读
0评论
1点赞
发布博客于 3 年前

(二)springboot快速搭建项目的两种方法

1 环境准备jdk1.8:Spring Boot 推荐jdk1.7及以上;java version “1.8.0_101”maven3.x:maven 3.3以上版本;Apache Maven 3.3.9IntelliJIDEA2018SpringBoot 1.5.9.RELEASE:1.5.9上面是我讲解springboot的环境标准(你用其他的环境也可以),开发工具没有使用i...
原创
816阅读
0评论
2点赞
发布博客于 3 年前

(一) springboot详细介绍

1 介绍Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。  通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapidapplication development)成为领导者。2 为什么要使用spri...
原创
1333阅读
0评论
1点赞
发布博客于 3 年前

(八)springboot 整合mybatis多数据源不使用JPA

前言:小伙伴说能不能用springboot整合一下mybatis多数据源不使用JPA进行数据库连接操作。那么说干就干1 创建一个springboot项目(流程就不介绍了,按图操作即可) 创建项目后可能会发现,这个项目展示的有些不对劲啊,java类前面还有个小J号,这是由于maven包还没有下载成功,你只需要去maven projects中重新加载一下就可以了。?m...
原创
2103阅读
0评论
0点赞
发布博客于 3 年前

百度前200页都在这里了

基本概念操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 post请求的区别 Interface 与 abstract 类的区别 IOC...
原创
501阅读
0评论
1点赞
发布博客于 3 年前

(六)springboot解决跨域问题

前言 : 跨域是什么?跨域是浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。解决跨域的方法有多种,今天来说下在后端解决跨域的方法。 1 通过增加一个@Configuration配置类来解决跨域(也可以将内容直接放到你的springboot启动类中)package com.fy.agent.api.config.jetty;import org.e...
原创
592阅读
0评论
0点赞
发布博客于 3 年前

项目中初始化通用线程池

说明:在项目初始阶段,有的时候需要维护一个通用的线程池,用来异步执行写操作,不影响主线程。直接上代码吧!package com.fy.agent.api.config.thread;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configu...
原创
5261阅读
0评论
0点赞
发布博客于 3 年前

(七)springboot+mysql+jpa简单实现

1 首先需要在pom.xml引入我们需要的包 <dependency> <artifactId>spring-boot-starter-data-jpa</artifactId> <groupId>org.springframework.boot</groupId&am
原创
3298阅读
0评论
2点赞
发布博客于 3 年前

mongoTemple插入数据去除默认_class类信息

简介: 项目springboot mongodb多数据源,在通过mongoTemple插入数据的时候总是有个默认的_class信息,是不是看着比较烦、、那么怎么去除能1 在容器启动的时候创建去掉_class需要的beanpackage com.fy.agent.api.config.mongo;import org.springframework.beans.factory.Bea...
原创
4009阅读
0评论
0点赞
发布博客于 3 年前

用户登录信息保存在ThreadLocal中

说明 : 简单说下我写这篇文章的来由吧,最近准备新开一个项目前后端分离的,后端通过springboot实现,前段就不说了,那么就会考虑到用户登录成功以后登录信息保存在什么地方,是通过前后端一直传递参数么,那就蛋疼了。通过session存储信息。。那不是要每次都要在视图层获取session在一层一层的传递下去。。想了想通过ThreadLocal来存储用户信息吧,这样就可以直接在dao层调用了。说干就...
原创
17967阅读
7评论
4点赞
发布博客于 3 年前

maven项目打包:maven-surefire-plugin:2.18.1:test (default-test) on project agent_api: There are test fail

在项目打包中遇到的问题, 问题 :Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project agent_api: There are test failures.[ERROR] Failed to execute goal org.ap...
原创
7385阅读
1评论
0点赞
发布博客于 3 年前

(五)springboot项目实战jetty优化

1 介绍 springboot默认配置的是tomcat容器,tomcat是一个重量级容器,今天我来说下我搭建的springboot项目配置的是jetty容器,jetty是一个轻量级的容器。那么下面来说下springboot应该怎么引用jetty容器呢?应该怎么优化呢?2 这里需要注意一下由于springboot web项目在创建的时候会引入spring-boot-starter-we...
原创
7627阅读
3评论
0点赞
发布博客于 3 年前

(四)springboot实现自定义banner.txt图

实现的方式非常简单,我们只需要在Spring Boot工程的/src/main/resources目录下创建一个banner.txt文件,然后将ASCII字符画复制进去,就能替换默认的banner了。 下面打印一下hello word${AnsiColor.BRIGHT_GREEN}.__ .__ .__ ...
原创
15149阅读
4评论
2点赞
发布博客于 3 年前

Git 远程推送The authenticity of host 'github.com (52.74.223.119)'问题

说明: 先说下我遇到的情况吧, 首先我在github上创建了一个远程仓库,我需要将我的代码推送到远程仓库,最初的时候我用的是https连接我的远程仓库,大家都知道git的连接有两种方式,一种是https连接,一种是ssh连接。 出于好奇我就给https连接方式改成了ssh连接。这个时候问题出现了。F:\my_github\agent_api>git push origin maste...
原创
9659阅读
0评论
4点赞
发布博客于 3 年前

git通过命令更换远程仓库地址-----和更换地址后对项目进行操作显示无权限问题

        声明:写这篇博客呢,是为了帮助那些像我一样没太注意细节而导致更换远程地址后再次对项目进行操作显示无权限问题的朋友。那么下面我说一下具体场景吧         具体场景是这样的我们的项目存储在码云的远程服务器
原创
66290阅读
6评论
15点赞
发布博客于 3 年前

java面试题

易通远见(北京)科技有限公司1 简要说明,MySql中MyISAM和InnoDB存储引擎的区别 2 简要说明,MySql中如何分析sql语句的性能以及在单表数据量过大时你的解决办法 3 简要说明,spring中如何防止表单重复提交 4 写出jsp中的内置对象和作用域 5 简要说明什么是线程安全,java保证线程安全的几种方法 6 javaScirpt中如何删除<selecct&...
原创
187阅读
0评论
1点赞
发布博客于 3 年前

Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

警告错误 : * WARNING * : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.中文解释 : 由于默认包的@ComponentScan,您的ApplicationContext不太可能启动我的项目结构 原因解析: SpringBoot在编...
原创
684阅读
1评论
0点赞
发布博客于 3 年前

Java 10 正式发布!时隔 6 月带来 109 项新特性

点击上方“CSDN”,选择“置顶公众号”关键时刻,第一时间送达!期待已久,没有跳票的 Java 10 已正式发布!为了更快地迭代,以及跟进社区反馈,Java 的版本发布周期变更为了每六个月一次,并且承诺不会跳票。新的发布周期也会严格遵循时间点,将在每年的 3 月份和 9 月份...
转载
369阅读
0评论
0点赞
发布博客于 3 年前

代码中特殊的注释 //TODO //FIXME的用处

前言 : 今天在阅读代码的时候发现了以前不怎么用的特殊注释 //TODO 和 //FIXME,好奇之下就查阅了一下资料,这里分享给大家TODO: + 说明: 如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明 例如 : FIXME: + 说明: 如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明...
原创
2038阅读
0评论
0点赞
发布博客于 3 年前

【区块链之菜鸟入门】来来来,这篇科普告诉你“区块链”到底是个啥?

【区块链之菜鸟入门】来来来,这篇科普告诉你“区块链”到底是个啥? 摘要: ...
转载
734阅读
0评论
0点赞
发布博客于 3 年前

[区块链之菜鸟入门]亲,你淘的区块链到了

摘要: 本文是我为大家分享的区块链技术文章系列中的第一部分【区块链之菜鸟入门】的第一篇,这篇文章咱们先抛开技术细节,用漫画的形式撩开神秘面纱,和大家聊一聊到底区块链是个啥? 作为一枚软件专业的学生党而言,时刻关注互联网新趋势我们的必修课。毕竟呀,互联网这个行业,没有什么是永恒不变的,今天我们在课堂上学的技术,或许在未来就死掉了...
转载
684阅读
0评论
4点赞
发布博客于 3 年前

java反射入门

反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方...
转载
423阅读
0评论
0点赞
发布博客于 3 年前

区块链和游戏产业结合会怎样?

2018年 1 月 9 日 ,徐小平在其真格基金的 CEO 交流群里分享了对区块链技术的看法,随即聊天截图被挂得满天飞,媒体报道也接踵而来。徐小平说,不要临渊羡鱼,而是要冲到浪潮中去,迎接区块链带给各行业的冲击。借用徐小平的这句话看,游戏行业确实已经冲到了区块链的浪潮中去了。近几周以来,国内不少游戏公司或多或少地...
转载
2485阅读
0评论
0点赞
发布博客于 3 年前

java,JVM垃圾收集算法

  由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法还各不相同,因此本文不过多的讨论算法的具体实现,只是介绍垃圾收集算法的思想及其发展过程。1 标记清除算法  最基础的收集算法是“标记–清除”(Mark - Sweep)算法,如同他的名字一样,算法分为“标记”和“清除”两个阶段。首先标记处所有需要回收的对象,在标记完成后统一回收所有被标记的对象,之所以说他是最基...
翻译
657阅读
0评论
0点赞
发布博客于 3 年前

一位程序员的十年工作总结,值得每位互联网人看

女朋友说要学node.js,于是帮她在VeryCD上面找找有没有资源,看到一个资源后,发现资源有点过时,但偶然发现下面有个很长的评论,细细阅来确实颇有几分感概,故分享给诸位。原文链接:http://www.verycd.com/topics/2722570/侵删。———以下正文———展望未来,总结过去10年的程序员生涯,给...
翻译
685阅读
0评论
0点赞
发布博客于 3 年前

适合程序员的英文名字

大家都知道 ,不管是在互联网行业,就算是在其它行业都有很大可能需要为自己起一个英文名字,而取名字的时候常常让我们很为难,应该怎样为自己取一个好的英文名呢,最近笔者看到了一篇外国人为他们的孩子取名字的文章,可供参考!男性:aaron(希伯来)启发的意思,aaron被描绘为不高但英俊的男人,诚实刻苦具有责任感,是个有效率个性沉静的...
翻译
9323阅读
0评论
1点赞
发布博客于 3 年前

为什么有些程序员悄无声息渡过35岁中年危机?

今天分享是一些已经渡过中年危机的前辈们,看看从他们身上,是如何优雅的过渡的。如果想一直在程序这条路上走下去,建议读完。文章略长。人物一:陈睿,前百度研发经理,携程定制旅游CTO从程序员到架构师到管理者,最后到创业者我一直相信这样一句话:真正的危机,来源于在正确的时间做不正确的...
转载
878阅读
0评论
0点赞
发布博客于 3 年前

java垃圾回收器--如何回收?

概述 1 说起垃圾回收我们需要想到三个问题那些内存需要回收什么时候回收如何回收2 这篇博客就来阐述一下java对象中那些内存需要回收,如何判断对象是否死亡。   首先谈论到内存回收我们首先需要知道java虚拟机的运行时内存的各个部分,其中程序计数器,虚拟机栈,本地方法栈3个区域随线程而生,随线程而灭。虚拟机栈中的栈帧随方法的进入和退出有条不紊的执行这进栈和出栈的操作。每一个栈帧...
翻译
664阅读
0评论
0点赞
发布博客于 3 年前

如何在github上查找好的开源项目

如果作为一名程序员,你连GitHub都没有听过或者用过的话,那真是太遗憾了。GitHub的使用可是程序员在职业生涯中的一项必备技能啊,最近在网上搜了一下,发现有好多童鞋都在提问GitHub的使用教程,其实网上关于GitHub使用的优秀教程还真是不少,本人也在其中获益颇多,好了,我们今天就来谈一个关于GitHub的话题,”如何在GitHub上发现优秀的开源项目”。1.Explore登录G
转载
59786阅读
5评论
28点赞
发布博客于 3 年前

java对象的内存布局和对象的访问定位

1 、对象在内存中存储的布局分为三块对象头存储对象自身的运行时数据:Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit),包含如下信息:对象hashCode对象GC分代年龄锁状态标志(轻量级锁、重量级锁)线程持有的锁(轻量级锁、重量级锁)偏向锁相关:偏向锁、自旋锁、轻量级锁以及其他的一些锁优化策略是JDK1.6加入的,这些优化使得Synchronized的
翻译
701阅读
0评论
1点赞
发布博客于 4 年前

乐观锁的一种实现方式——CAS

乐观锁的一种实现方式——CAS在深入理解乐观锁与悲观锁一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。线程安全众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。
转载
992阅读
0评论
0点赞
发布博客于 4 年前

阿里Java工程师分享3年工作经验的程序员应该具备的技能

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事每个程序员、或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来。今天小编给大家分享的是一篇来自阿里Java工程师对3年工作经验程序员的职业建议,希望对你有启发。    程序员的三个阶段   第一阶段-——三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰
转载
1769阅读
0评论
2点赞
发布博客于 4 年前

给定任意数组获取任意连续的项求和的最大值,并输出新的数组

今天看到一个京东的java数组面试题,原题如下:给定一个数组 int[] num = {-1,2,7,-9,3,6,8,2,-10};【数组不是固定的,是任意数组这只是个例子】 要求: 将数组中任意连续的项求和的最大值,并输出新的数组。 举例:3+6+8+2 = 19,在没有任何连续的想加大于19,所以输出 [3,6,8,2],最大和:19 。 请用Jav
原创
1833阅读
0评论
0点赞
发布博客于 4 年前

JVM对象的创建流程

上章介绍完java虚拟机的运行时数据区之后,我们大致了解了java虚拟机的概况,java虚拟机运行时内存的原理和存放了一些什么,这章我们来了解一下java虚拟机中对象是如何创建的如何分配的对象。java是一门面向对象的编程语言,在java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(例如克隆,反序列化)通常仅仅是一个new关键字而已,而在虚拟机中,对象(限于普通java对象,不包
翻译
1247阅读
0评论
1点赞
发布博客于 4 年前

指定数组同时指定要查找的数,找出这个数在数组中的起始位置和结束位置

今天朋友让我给写个面试的笔试题,写后感觉很low希望各位大神给予指点。互相学习。原题 : 给定一个排好序的数组,同时给定一个要查找的数,找出这个数在数组中出现的起始位置和结束位置。算法的时间复杂度是log(N)。如果没有找到就返回[-1,-1] 比如给定[5,7,7,8,8,10],需要查找的值为8,返回:[3,4]下面是我写的代码public static void main(String[]
原创
846阅读
1评论
0点赞
发布博客于 4 年前

jvm虚拟机运行时内存分析,堆,栈,方法区,程序计数器,本地栈,常量池

**JVM自动内存管理机制** java内存区域与内存溢出异常 概述 : 对于从事C/C++程序开发的开发人员来说,在内存管理领域他们是拥有最高权力的皇帝又是从事最基础工作的劳动人民,即拥有每一个对象的所有权,有担负这每一个对象生命的开始到结束的维护责任。对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不在需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏
翻译
3929阅读
0评论
4点赞
发布博客于 4 年前

什么是JDK,JRE, JVM虚拟机

声明:这是自我学习jvm虚拟机中进行的学习总结,参考读书java虚拟机(第二版)作者:周志明,欢迎大家互相讨论学习。 什么是jdk? jdk是整个java的核心,其中包括了java的运行环境jre,一堆java工具和java基础的类库api,以及jvm虚拟机。JDK是用于支持java程序开发的最小环境三维。所以不论什么java服务器其实都是内置了某个版本的jdk。什么是JRE?
翻译
1305阅读
0评论
2点赞
发布博客于 4 年前

java密码强度检测

package com.wx.pwd;/** * 检测密码强度 * * @author venshine */public class CheckStrength { public enum LEVEL { EASY, MIDIUM, STRONG, VERY_STRONG, EXTREMELY_STRONG } /** * NUM 数字
原创
5769阅读
0评论
5点赞
发布博客于 4 年前

git 自我学习详解

一 git简介1 git 是什么? git 是现在世界上最先进的分布式版本控制工具。2 git是怎么诞生的? 很多人都知道在1991年linus创建了开源的linux,从此linux不断壮大发展已经成为最大的服务器系统软件了。但Linux的壮大是靠全世界的热心志愿者参与完成的,那么问题就出现了,这么多全球各地的志愿者参与代码的开发,那linux是如何管理的呢,在2002年
翻译
901阅读
1评论
2点赞
发布博客于 4 年前

阿里云oss云存储

阿里云oss云存储一 pom.xml配置 <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>2.1.9<
翻译
940阅读
0评论
1点赞
发布博客于 4 年前

阿里云文本关键词过滤检测

功能描述关键词检测是对文本检测的最简单的一种方式,本文章对一段文本进行关键词的匹配,判断是否包含特定关键词。​HTTP 接口描述 场景(scene)中文名 场景(scene) 分类(label) 备注 关键词检测 keyword normal 正常文本 关键词检测 keyword spam 含违规
原创
7466阅读
1评论
1点赞
发布博客于 4 年前

Nginx+tomcat+session+memcached 实现session共享

Nginx+tomcat+session 实现session共享的时候 Tomcat中context.xml中配置的memcachedNodes="n1:localhost:11211 n2:192.168.3.108:1121 1" 这两个节点有什么作用 我不理解这几点的作用是什么
3回答
发布问题于 4 年前