Java
七八月份的太阳
厚积薄发
展开
-
为什么字符串拼接StringBuilder要比string更好
抛出问题:如果需要循环拼接一个字符串几万次甚至几十万、上百万次。。。。等等,这种情况我们会发现string非常慢该如何解决?看过另一篇误人子弟的文章,string面对大数量级的拼接会更快不过占用的内存比较大。自己实现发现string其实根本没法跟StringBuilder相比,而且占用空间。使用StringBuilder(非线程安全)或者stringBuffer(线程安全)更快也更节省空间...原创 2018-10-25 15:38:43 · 8678 阅读 · 4 评论 -
代码全部自动生成,程序员还有什么用?
前端干着干着,就把自己干没了...... what? 刚看到这种言论的时候深深的为后端的我担心了以后会不会哪天后端的代码也自动生成了?就事论事,我们今天就来分析一下程序员会不会干着干着,就把自己干没了!首先从问题点入手:前端干着干着就把自己干没了?首先了解一下为什么会有这种言论:近几年,阿里接二连三“搞事情”。根据阿里近期发布的《2018 年度代码报告》显示,目前阿里巴巴就已经...原创 2019-03-09 23:19:09 · 6183 阅读 · 0 评论 -
Java连接linux上的redis
Redis简介Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。首先我们要新在linux上安装Redis:下载Redis:https://redis.io/...原创 2019-01-28 23:20:52 · 7414 阅读 · 1 评论 -
无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长...转载 2019-01-31 23:11:13 · 5470 阅读 · 0 评论 -
Intellij IDEA使用 lambda表达式报错-source1.5中不支持lambda表达式
Intellij IDEA简介:IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克...原创 2019-01-31 22:40:14 · 20202 阅读 · 2 评论 -
Spring Boot中使用Swagger生成 Api文档
swagger简介及使用 Swagger的由来随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的...原创 2019-01-25 23:21:46 · 6161 阅读 · 0 评论 -
使用Java操作二叉树的插入查询遍历和打印(代码)
关于二叉树详细介绍请移步:https://blog.csdn.net/weixin_40165163/article/details/83826223为了熟悉IntelliJ把之前写的二叉树翻了一遍到java也算是复习了一遍。Node:package com.company;public class Node { public Node(int value) { ...原创 2019-01-20 21:26:18 · 5795 阅读 · 0 评论 -
程序员为什么要多读源码?
首先我们要知道多读源码对我们有什么好处1.多读源码可以让我们自己写出结构更优质的代码。很多优质源码的质量是经过考量的,也是经过多次优化的,并且大部分是稳定的。2.让我们了解到我们所用框架的优点缺点。通过源码中的细节,我们能够了解到以何种方式去使用这个工具会给我带来最大化的利益。3.可以让我们对自己写的代码有更深层次的认识利于排查错误、性能...原创 2018-12-24 16:37:26 · 6674 阅读 · 0 评论 -
HashMap为何要通过构造函数指定容量
本来想写一篇关于HashMap完整的源码分析的,结果我发现整理了一下东西是真的多,而且也怕误人子弟,那就分析一下为什么阿里Java开发手册里为要指定HashMap的容量吧。让我们带着问题进入:为什么要使用构造函数指定HashMap的容量 如果不指定会对效率造成多大的影响其他的关于HashMap可以说的东西太多了,今天就根据阿里开发手册做一个探讨。首先贴出阿里开发手册1.4关于Has...原创 2018-11-23 19:19:51 · 7354 阅读 · 0 评论 -
Java与C#如何生成Guid
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。C#的Guid格式:Guid.NewGuid().ToString()的几种格式1、Guid.NewGuid().ToString("N") 结果为: ...转载 2018-11-01 16:36:56 · 6859 阅读 · 0 评论 -
构造方法与static关键字的运行顺序
在丢出我们今天最终研究的问题之前,新丢出一个简单的代码热热身。代码如下: class Program { static void Main(string[] args) { People people; people = new Child("测试"); } } class ...原创 2018-10-30 18:25:48 · 6014 阅读 · 0 评论 -
Java使用poi读取Excel
在做之前新说明一下遇到的坑吧。(这里给H1标题)从excel文件里显示的数据为 "1" 结果通过 row.getCell(0) 读出来变成了 1.0 在转换成int类型居然需要 Double.valueOf(row.getCell(0).toString().trim())),真够麻烦的。。。跟C#不太一样。 Excel文件里面空白行达到1000000W条+ 我不知道这个Excel经历了什么...原创 2018-10-31 16:12:58 · 6385 阅读 · 0 评论 -
从源码去看泛型存在的意义
Java:泛型是Java SE 1.5的新特性。C#:泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对...原创 2018-10-29 16:11:16 · 5788 阅读 · 0 评论 -
使用栈实现可配置的括号对齐以及栈的实现原理
抛出问题:校验字符串中括号是否对应,并可以根据配置修改需要匹配的成对字符。例:()()(()) 输出:OK ()[]{}{([])} 输出: OK((())] 输出:NO对应则返回true,若不对应则返回falseC#代码如下(与java代码差距不大),使用栈(新进后出,和装羽毛球的盒子一样)这种方式来处理此种问题,代码简洁易懂不做过多陈述:public c...原创 2018-10-29 15:07:33 · 5582 阅读 · 0 评论 -
Redis删除一个比较大的Key会发生什么?
什么是Redis大Key我认为可以从Space Complexity和Time complexity两个方向定义一个大Key。 1.Space Complexity,指的就是这个Key所占用的空间大小,Redis是对内存的操作所以这里是在内存中占用空间的大小。一个string类型的Key最大为512MB,你的string Key占用了400MB,这就是一个比较大的Ke...原创 2019-03-09 23:44:08 · 7068 阅读 · 0 评论