- 博客(20)
- 收藏
- 关注
转载 2020-10-26
java线程池的四种用法及使用场景# 如下方式存在的问题new Thread() {@Overridepublic void run() {// 业务逻辑}}.start();1、首先频繁的创建、销毁对象是一个很消耗性能的事情;2、如果用户量比较大,导致占用过多的资源,可能会导致我们的服务由于资源不足而宕机;3、综上所述,在实际的开发中,这种操作其实是不可取的一种方式。# 使用线程池有什么优点1、线程池中线程的使用率提升,减少对象的创建、销...
2020-10-26 17:23:15
150
转载 面试题之分布式锁
为什么要学习分布式锁?最简单的理由就是作为一个社招程序员,面试的时候一定被面啦,你看怎么多公众号都翻来覆去的发分布式锁的主题,可见它很重要啦,在高考里这就是送分题,不要怪可惜的。那应届生也会问吗?这就不一定了,但是,如果你会,面试官肯定会多给你那点分(钱)第三,分布式锁在稍微有丢丢规模大系统里是必备技能啦。认真看看吧。分布式锁要解决的问题分布式锁是一个在分布式环境中的重要原语,它表明不同进程间采用互斥的方式操作共享资源。常见的场景是作为一个sdk被引入到大型项目中,主要解决两类问题:
2020-09-04 17:33:03
494
2
转载 Java 常用排序算法/程序员必须掌握的 8大排序算法
分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。1.直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经...
2019-08-19 13:50:23
209
转载 程序员那些必须掌握的排序算法
1.冒泡排序冒泡排序(Bubble Sort),是一种较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终...
2019-08-19 13:33:57
152
转载 MySQL查询每天每周每月每季每年的数据等常用统计查询
查询每天的数据:SELECT COUNT(1) AS countNumber, DATE_FORMAT(createTime,'%Y-%m-%d') AS dateTimeFROM testTableGROUP BY DATE_FORMAT(createTime,'%Y-%m-%d')查询每周的数据:SELECT COUNT(1) AS countN...
2019-07-26 11:31:32
6316
2
转载 常用正则表达式
一、校验数字的表达式1.数字:^[0-9]\*$2.n位的数字:^\d{n}$3.至少n位的数字:^\d{n,}$4.m-n位的数字:^\d{m,n}$5.零和非零开头的数字:^(0|[1-9][0-9]\*)$6.非零开头的最多带两位小数的数字:^([1-9][0-9]\*)+(\.[0-9]{1,2})?$...
2019-07-26 11:08:51
765
转载 IntelliJ IDEA 快捷键终极大全
自动代码常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。例如要输入for(User user : users)只需输入user.for+Tab ;再比如,要输入Date birthday = user.getBirthday()只需输入user.getBirthday().var+Tab即...
2019-07-26 11:07:11
106
原创 Git操作常用的命令
创建仓库git init在当前目录执行,会生成 .git目录文件,这个和SVN一致。提交到仓库git commit -m "first commit"-m:表示提交描述,必须要填。添加到远端仓库git remote add origin git@github.com:test/test.git推送到远端仓库git push -u origin master克...
2019-07-26 11:05:50
94
转载 阿里巴巴 15 款开发者工具
程序员硬核评测:客观、高效、不说软话。无论是技术质量、性能水平,还是工具筛选,一测便知!从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,...
2019-07-26 11:03:26
285
转载 JVM内存管理及GC机制
一、概述Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。经过这么长时间的发展,Java GC机制已经日臻完善,几乎可以自动的为我们做绝大多数的事情。虽然java不需要开发人员显示的分配和回收内存,这对开发人员确实...
2018-07-12 15:05:48
191
转载 JVM核心之JVM运行和类加载全过程
为什么研究类加载全过程?有助于连接JVM运行过程更深入了解java动态性(解热部署,动态加载),提高程序的灵活性 类加载机制JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接使用的java类型的全过程。 加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象...
2018-07-12 09:57:15
152
转载 分布式架构汇总
在互联网大行其道的今天,各种分布式系统已经司空见惯。搜索引擎、电商网站、微博、微信、O2O平台。。凡是涉及到大规模用户、高并发访问的,无一不是分布式。关于分布式系统,并没有一个标准答案,说某某架构一定是最好的。不同的业务形态所面对的挑战不一样,使用的架构设计也不一样,通常都需要具体业务具体分析。但不管那种业务,不管何种分布式系统,有一些基本的思想还是相通的。本文将对这些基本思想进行一个梳理汇总。分...
2018-05-18 15:48:34
154
转载 职场法则
相对于其它行业,IT职场应该算比较光明的了,但也陷阱重重,本文说说我的亲身体会,希望大家能在IT职场上战无不胜!通用法则法则 1:忍耐是一种美德。为了生活,很多时候你必须要忍!忍受你的领导对你的无理责骂、同事的白眼、客户的无理取闹,承受工作的巨大压力,忍受上下班的拥挤、堵车,忍受什么都涨就是工资不涨,……
2017-12-21 17:29:14
370
转载 JavaScript的六大作用
首先讲javaScript的摆放位置: 与 可以放在head和body之间,也可以body中或者head中JavaScript的六大作用:1直接在script输出1document.write("This is a heading");//document.write表输出,括号中h1标签同样有效
2017-11-24 11:23:33
18326
转载 JavaScript用法详解
简介JavaScript 秘密花园是一个不断更新,主要关心 JavaScript 一些古怪用法的文档。 对于如何避免常见的错误,难以发现的问题,以及性能问题和不好的实践给出建议, 初学者可以籍此深入了解 JavaScript 的语言特性。JavaScript 秘密花园不是用来教你 JavaScript。为了更好的理解这篇文章的内容, 你需要事先学习 JavaScript 的基础
2017-11-24 11:21:50
259
转载 JSTL标签库之核心标签
一、JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码二、JSTL标签库的分类核心标签(用得最多)国际化标签(I18N格式化标签)数据库标签(SQL标签,很少使用)XML标签(几乎不用)JSTL函数(EL函数)三、核心标签库使用说明 JS
2017-11-24 10:44:30
261
转载 Ajax详解
Ajax详解AjaxAjax 是什么Asynchronous [e'sɪŋkrənəs] Javascript And XML, AJAX 不是一门的新的语言,而是对现有技术的综合利用。 本质是在HTTP协议的基础上以异步的方式与服务器进行通信。异步 : 某段程序执行时不会阻塞其他程序的执行, 表现形式是程序的执行顺序不依赖程序本身的书写顺序, 相反的情况依
2017-11-24 10:21:32
319
1
转载 常见的面试题
目录1. Java 基础部分 ................................................................................................................... 101、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ........ 102、Java 有没有
2017-11-23 17:28:28
1650
转载 mybatis中的#和$的区别
#相当于对数据 加上 双引号,$相当于直接显示数据1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中。如:order by $u
2017-11-23 17:01:17
204
转载 HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
①HashMap的工作原理HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存
2017-09-13 16:58:15
217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人