java
溜溜侠
这辈子打工是不可能打工的啦。。这里个个都是人才,说话又好听,我超喜欢这里。。。
展开
-
如何解决代码中 if…else 过多的问题
转自:www.cnblogs.com/eric-shao/p/10115577.html前言if...else 是所有高级编程语言都有的必备功能。但现实中的代码往往存在着过多的 if...else。虽然 if...else 是必须的,但滥用 if...else 会对代码的可读性、可维护性造成很大伤害,进而危害到整个软件系统。现在软件开发领域出现了很多新技术、新概念,但 if...else 这种基本的程序形式并没有发生太大变化。使用好 if...else 不仅对于现在,而且对于将来,都是十分有意.转载 2020-05-15 09:38:35 · 334 阅读 · 0 评论 -
干掉try-catch
转自:https://mp.weixin.qq.com/s/SpWTXu381RbCUc4qSTXLHw软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块优雅...转载 2020-05-15 09:36:19 · 351 阅读 · 0 评论 -
JWT token流程
业务场景在前后分离场景下,越来越多的项目使用token作为接口的安全机制,APP端或者WEB端(使用VUE、REACTJS等构建)使用token与后端接口交互,以达到安全的目的。本文结合stackover以及本身项目实践,试图总结出一个通用的,可落地的方案。基本思路单个tokentoken(A)过期设置为15分钟 前端发起请求,后端验证token(A)是否过期;如果过期,前端发起刷...原创 2019-10-18 17:00:36 · 849 阅读 · 0 评论 -
集群,分布式,微服务概念和区别
概念:集群是个物理形态,分布式是个工作方式。(“分头做事”与“一堆人”的区别 )分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上1:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。举例:就比如新浪网,访问的人多了,他可以做一个群集,...原创 2019-02-19 10:02:59 · 301 阅读 · 0 评论 -
java调优工具和方案
一、JConsole是什么 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。二、如何启动JConsole如果是从命令行启动,使 JDK 在 PA...原创 2019-02-28 16:05:33 · 316 阅读 · 0 评论 -
java中的栈和堆
栈内存:栈内存首先是一片内存区域,存储的都是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量),for循环内部定义的也是局部变量,是先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。栈内存的更新速度很快,因为局部变量的生命周期都很短。堆内存:存储的是数组和对象(其实数组就是对象),凡是new建立的都是在堆中,堆中存...原创 2019-03-06 12:19:22 · 186 阅读 · 0 评论 -
docker简述
docker:docker是应用容器引擎,可以将程序所涉及到的应用和依赖包(比如jdk、tomcat、spring)等打包成镜像,直接运行在对应的系统中好处:1.合作开发的时候,在本机可以跑,别人的电脑跑不起来 这里我们拿java Web应用程序举例,我们一个java Web应用程序涉及很多东西,比如jdk、tomcat、spring等等。当这些其中某一项版本不一致的时候,可能就会导...原创 2019-03-06 23:07:53 · 230 阅读 · 0 评论 -
springmvc特性
Spring MVC特性(优点):1、清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。每一个角色都可以...原创 2019-03-14 15:35:43 · 2646 阅读 · 0 评论 -
HashMap、HaseTable、HaseSet
HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别①HashMap的工作原理HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals...原创 2019-03-15 18:00:30 · 567 阅读 · 0 评论 -
并发秒杀系统设计
高并发核心技术 - 订单与库存问题:一件商品只有100个库存,现在有1000或者更多的用户来购买,每个用户计划同时购买1个到几个不等商品。如何保证库存在高并发的场景下是安全的。1.不多发2.不少发下单涉及的一些步骤1.下单2.下单同时预占库存3.支付4.支付成功真正减扣库存5.取消订单6.回退预占库存什么时候进行预占库存方案一:加入购物车的时候去预占库存。方案二:下单...原创 2019-03-13 16:06:57 · 358 阅读 · 0 评论 -
springmvc和struts2比较
1.核 心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求 (控制器)统一的进行处理(字符编码、文件上传、参数接受、异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter。2.控制器实例:Spring Mvc会比Struts快一些(理论上)。Spring Mvc...原创 2019-02-28 11:23:41 · 200 阅读 · 0 评论 -
java23种设计模式
一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。...原创 2019-02-28 11:02:48 · 228 阅读 · 0 评论 -
微信公众号授权登录
说明:如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。1、首先,先登录微信公众平台填写授权回调页面域名(可以申请公众平台测试账号进行开发),回调页面域名是你的第三方跳转域名,不需要加http,如截图所示:2、授权流程分为4步:a、引导用户进入授权页面同意授权,获取code b、通过code换原创 2017-09-25 16:56:56 · 1242 阅读 · 0 评论 -
简单明了的JAVA生成32位UUID
这里主要是介绍java自带的类import java.util.UUID产生的32位ID,简单明了public static String getUUID() { return UUID.randomUUID().toString().replace("-", ""); }最后返回的是32位ID原创 2017-10-18 14:29:36 · 3019 阅读 · 0 评论 -
简单明了的重写和重载的区别
重写:方法名相同,参数个数,参数名,返回类型统统相同重载:方法名相同,参数个数,参数名不同,返回类型可以相同也可以不同,不以返回类型做为区分原创 2018-01-15 10:55:05 · 417 阅读 · 0 评论 -
java面试题上
转载:http://blog.csdn.net/qq420100523/article/details/78394782(个人需要转载,如有侵权,麻烦原创联系删除,谢谢)1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节转载 2018-01-09 09:45:55 · 2161 阅读 · 0 评论 -
java面试题中
转载:http://blog.csdn.net/qq420100523/article/details/78394930(个人需要转载,如有侵权,麻烦原创联系删除,谢谢)这部分主要是与Java Web和Web Service相关的面试题。96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其ser转载 2018-01-09 09:49:06 · 484 阅读 · 0 评论 -
java面试题下
转载:http://blog.csdn.net/qq420100523/article/details/78394930(个人需要转载,如有侵权,麻烦原创联系删除,谢谢)这部分主要是开源Java EE框架方面的内容,包括hibernate、MyBatis、spring、Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试题,如果需要了解相转载 2018-01-09 09:51:53 · 541 阅读 · 1 评论 -
内存溢出和内存泄漏
java内存溢出与内存泄漏内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory! 以发生的...转载 2019-02-15 08:26:54 · 197 阅读 · 0 评论 -
数据库事务的四大特性以及事务的隔离级别
数据库事务的四大特性以及事务的隔离级别 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如...原创 2019-02-15 12:21:34 · 190 阅读 · 0 评论 -
Java高级工程师面试题总结及参考答案
Java高级工程师面试题总结及参考答案一、面试题基础总结1、 JVM结构原理、GC工作机制详解答:具体参照:JVM结构、GC工作机制详解 ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法( 这里的可达性,大家可以看基础2 ...原创 2019-02-18 17:09:25 · 1609 阅读 · 0 评论