java基础
实践中的坑以及知识分享
双木L
菜鸟程序猿一枚
展开
-
熔断和降级的真实关系,图文并茂
刚开始我以为熔断和降级是一体的,以为他们必须配合使用; 只不过名字不一样而已,但是当我经过思考过后,发现他们其实不是一个东西;一)降级什么是服务降级呢?降级主要有以下几种情况超时:当下游的服务因为某种原因响应过慢,下游服务主动停掉一些不太重要的业务,释放出服务器资源,增加响应速度!不可用:当下游的服务因为某种原因不可用,上游主动调用本地的一些降级逻辑,避免卡顿,迅速返回给用户!限流:防止上游服务请求太多导致服务崩溃,所以限制请求的数量,来达到保护下游服务的目的,当请求的流量到达一转载 2021-09-01 09:41:33 · 477 阅读 · 0 评论 -
java unicode为12288字符去除空格问题
今天在开发过程中遇到一个导入数据的问题,是在是很坑,也怪自己经验不足,没有遇到过,这里做以下记录,以作警记。 一般我们在java中去除数据的空格会用到trim()方法,亦或用到replace(" ","")方法,但是这里从excel中获取到的字符串会隐含全角字符的中文空格,当然肉眼是看不到的,上面用到的两个方法都是不起作用的,以下是代码的解决方案: ...原创 2018-03-05 17:50:48 · 1361 阅读 · 0 评论 -
java中反射学习整理
反射主要是指程序可以访问,检测和修改它本身的状态或行为的一种能力。java中反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装载,无须在组件之间进行链接。反射允许在编写与执行时,使程序能够接入到jvm中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活应用代码的主要工具。需要注意的是,如果使用不当,反射的成本会很高。package com.wj.reflect;...转载 2018-02-07 16:34:13 · 135 阅读 · 0 评论 -
开发经验之谈--论JavaScript的强大,一种前后台数据交互的妙用
都说JavaScript语言多么多么强大,我只想说一句:"是真的很强大啊,深有体会"。本人近期在开发过程中接到一个任务,也是折磨了我许久,从构思到实现,再到优化,真是每一步都很艰辛。但是这个功能的实现确实很巧妙,利用了很多巧妙的思想,希望这次的分享可以对广大开发学习者提供一个很好的帮助。好啦,闲话不多说,上干货。 首先是功能实现的界面,如下: (不要吐槽界面的ugly,本人觉得这还是一原创 2018-02-02 10:34:31 · 947 阅读 · 0 评论 -
AppCan开发动态创建手机端table并存放数据
最近手机端App开发接到一个任务,就是需要通过一个接口将接收到的数据与另外一张表字段拼接好的新字段进行匹配,并动态创建table将数据存放进去。首先理清一下业务:1.需要将数据库中建好的参数表中的两个字段拼接为可以接收数据格式的字段。2数据库表查询,获取所有数据,转换为合法字段。3调用动态创建表格的 方法,创建表格并存放数据。业务并不是很复杂,前两步最容易实现。因为这里的数据是会按照机组序原创 2017-11-06 16:50:09 · 996 阅读 · 0 评论 -
项目中的if else太多了,该怎么重构?
最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的if (msgType = "文本") { // dosomething} else if(msgType = "图片") { // doshomething} else if(msgType = "视频") { // doshomething} else {...转载 2020-01-07 22:18:54 · 184 阅读 · 0 评论 -
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导...转载 2019-09-29 15:40:02 · 176 阅读 · 0 评论 -
超简单使用Myeclipse创建WeBService服务以及客户端的小用例
1.环境准备: Myeclipse 2014、jdk1.6以上包括1.6即可2.创建服务端步骤如下:2.1.【File】-->【New】-->【Web Service Project】,如下图:一直傻瓜式下一步即可,我这里都直接采用的默认配置.2.2.新建服务端代码,新建一个类,如下:2.3.类中书写的代码具体如下 2...原创 2019-08-12 20:57:41 · 666 阅读 · 0 评论 -
一个让程序员小白都特别容易理解的自定义注解小Demo
注解,对于我们开发人员来说无疑是再熟悉不过了,尤其是开发过程中通过一个简简单单的注解就可以省去很多繁琐的配置,可以说注解帮我们简化了很多开发流程,用起来方便快捷。但这一切都是框架或者说是jdk源码人家配置好我们直接拿来用的,我们自己是否也可以自定义一个属于我们自己的注解,开发中将一些重复的属性或配置通过注解的形式注入进去呢?好了,废话不多说,下面直接上干活,看看一个简单的自定义注解是如何一步步实现...原创 2019-08-07 22:36:10 · 169 阅读 · 0 评论 -
踩坑之Linux下DateFormat的parse方法解析异常
日常工作,公司安排要将原来跑在window环境的一个老项目迁移到Linux环境中,迁移完之后,便开始逐一测试项目的各个功能,保证其都可以正常使用。测试过程中终究还是发现了一个刚开始让我匪夷所思的现象,不过后来还是自己解决了,下面是我开始发现错误到解决问题的整个过程。 一个录入商品的功能,有三个时间字段,分别录入不同的时间,点击保存,结果只有一个保存成功,另...原创 2019-07-04 22:54:00 · 2843 阅读 · 3 评论 -
自定义一个java.lang.String类,这个类是否可以被类加载器加载?为什么
1.、双亲委派模型类加载器可分为两类:一是启动类加载器(Bootstrap ClassLoader),是C++实现的,是JVM的一部分;另一种是其它的类加载器,是Java实现的,独立于JVM,全部都继承自抽象类java.lang.ClassLoader。jdk自带了三种类加载器,分别是启动类加载器(Bootstrap ClassLoader),扩展类加载器(Extension Cla...转载 2019-04-17 19:43:09 · 1278 阅读 · 0 评论 -
简单实现根据当前系统时间获取上周周一和周日的小案例
//获得当前系统的时间 Date date =new Date(); //时间模板 SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); String dateForma=simpleDateFormat.format(date)...原创 2018-10-11 16:53:40 · 1440 阅读 · 0 评论 -
详解synchronized与Lock的区别与使用
技术点:1、线程与进程:在开始之前先把进程与线程进行区分一下,一个程序最少需要一个进程,而一个进程最少需要一个线程。关系是线程–>进程–>程序的大致组成结构。所以线程是程序执行流的最小单位,而进程是系统进行资源分配和调度的一个独立单位。以下我们所有讨论的都是建立在线程基础之上。2、Thread的几个重要方法:我们先了解一下Thread的几个重要方法。a、start()方法,调用该方法开...转载 2018-07-11 10:15:53 · 779 阅读 · 0 评论 -
循环里使用嵌套集合的陷阱(小白会犯的错)
原创 2017-08-28 10:46:15 · 593 阅读 · 0 评论 -
java 代码实现163邮箱发送邮件到QQ邮箱
1.创建一个用户类,来接收发送邮件的邮箱地址和授权密码(需要注意的是,这里的密码不是正常使用邮箱的登陆密码,而是客户端生成的另一个专门的授权码 ,这里需要开启相应的发送邮件的服务,这里开启的是pop3/smtp服务)package appsoft.cd.applications.cd_gcxm.web;import javax.mail.Authenticator;import j...原创 2017-10-30 11:34:19 · 2587 阅读 · 3 评论 -
Java JDK环境变量的配置
记得自己刚刚学习java的时候,在配置这些环境变量的时候都忙的不亦乐乎,都是遇到各种问题,现在想想都觉的很可笑。现如今回过头来想一想,当时的那种学习热情与对编程的热爱才让自己一直坚持到了现在吧,不然早就放弃啦,哈哈。下面是对这些最基础环境变量的配置,也希望我的记录可以帮助到更多人吧。 首先是jdk的下载与安装,这个应该没有什么难度,到官网直接去下载:http://www.oracle.com/t...原创 2018-02-09 10:23:38 · 222 阅读 · 0 评论