
Java基础
杜_小妖
穷则独善其身,达则兼济天下
展开
-
Build path specifies execution environment J2SE
在Myeclipse2017中新建一个web项目,出现一个warming:Description ResourcePathLocationType Build path specifies execution environment JavaSE-1.7. There解决方案:一、在项目根目录右击,选择“Build Path”,然后选择“Config Bulid Path...”原创 2018-01-31 11:17:19 · 4519 阅读 · 17 评论 -
java SDK服务端推送 --极光推送(JPush)
消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andriod它并没有自己的原生推送机制,一种简单的推送方式是采用第三方推送服务的方式,即通过嵌入SDK使用第三方提供的推送服务,主流的有百度云推送,极光推送,友盟,个推、亚马逊等等。本篇博文只介绍采用极光推送的方式。 如果你是一个新手,建议你先看完本篇博客,然后在去看官网,这样也许上手会快...原创 2019-01-21 19:06:38 · 12026 阅读 · 11 评论 -
【java】日期精确到秒的两种方法
方法一:日期类型精确到秒 Date startTime =new Date(); Date endTime =new Date();Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 0); ...原创 2019-02-07 16:42:45 · 17794 阅读 · 4 评论 -
ArrayList、LinkedList、HashMap、LinkedHashMap区别
ArrayList:无序集合LinkedList:有序集合,LinkedList链表由一系列表项连接而成。一个表项总是包含3个部分:元素内容,前驱表和后驱表,如图所示:在下图展示了一个包含3个元素的LinkedList的各个表项间的连接关系。在JDK的实现中,无论LikedList是否为空,链表内部都有一个header表项,它既表示链表的开始,也表示链表的结尾。表项header的后驱表...原创 2019-02-24 19:55:25 · 6327 阅读 · 3 评论 -
List去除null元素
方法一:使用 for 循环处理集合思路:这种处理方式是把要处理的集合进行遍历,取出其中不为空的元素,添加到新的集合中,代码如下:public static <T> List<T> removeNull(List<? extends T> oldList) { // 临时集合 List<T> listTemp = new Arr...原创 2019-02-25 16:58:25 · 4190 阅读 · 4 评论 -
GET和POST两种基本请求方法的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻...转载 2019-02-25 18:21:31 · 1462 阅读 · 2 评论 -
java反射机制
文章目录概要反射API获取Class对象的三种方式创建对象的两种方法概要在 Java 程序中许多对象在运行是都会出现两种类型:编译时类型和运行时类型。 编译时的类型由声明对象时实用的类型来决定,运行时的类型由实际赋值给对象的类型决定 。如:Person p=new Student();其中编译时类型为 Person,运行时类型为 Student。程序在运行时还可能接收到外部传入的对象,该...原创 2019-05-13 19:02:24 · 224 阅读 · 4 评论 -
java 类加载机制
写一篇博客欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来...原创 2019-05-12 09:20:47 · 214 阅读 · 2 评论 -
jvm
jdk/jre/jvm的关系jdk:Java Devlepment Kitjre:jvm:java8官方解释生成jvm内存快照jdk的发展历程:jdk各种虚拟机发展历程:java Class VM 1.1 1.2Exact VM 1.2hotspot 1.3~1.6kvm 简单。轻量,可移植,手机平台使用BEA JRockit 专...原创 2019-05-26 21:51:46 · 448 阅读 · 2 评论 -
并发编程
关键字volatilesynchronizedfinal三大性质:原子性、可见性、有序性原创 2019-07-07 21:35:06 · 206 阅读 · 0 评论 -
谈谈对volatile的理解
文章目录特性保证可见性不保证原子性禁止指令重排序volatile和synchronize的区别在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized。特性保证可见性通俗的来讲就是,两个线程,线程A和线程B 共享同一变量,volatile保证了当线程A对共享变量的值进行修改后,线程B也会得到最新的修改结果。...原创 2019-07-14 21:32:44 · 2926 阅读 · 3 评论 -
dubbo演变
目录概念背景架构**节点角色说明**概念背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用...原创 2019-06-30 21:35:31 · 459 阅读 · 2 评论 -
hystrix与高可用系统架构
hystrix作用:资源隔离限流机制熔断机制降级机制运维监控资源隔离,让你的系统里,某一块东西,在故障的情况下,不会耗尽系统所有的资源。那一块代码,最多最多就是用掉18个线程,不能再多了,就废掉了,限定好的一些资源限流:高并发的流量涌入进来,比如说突然间一秒钟100万QpS,废掉了,10万QPS进入系统,其他90万QPS被拒绝了。熔断:系统后端的一些依赖,出了一些故障,比如说my...原创 2019-08-06 16:59:28 · 365 阅读 · 1 评论 -
java 生成验证码
两种方式都可以实现生成验证码,搜集了两篇博客,写的很好,分享给大家 JAVA 验证码生成SpringBoot下实现前端验证码图片的生成和校验原创 2018-11-04 18:09:16 · 376 阅读 · 2 评论 -
Mycat+druid+zk实现多租户
前言Mycat的应用场景之一就是实现多租户,多租户应用,每个应用一个库,但应用程序只连接 Mycat,从而不改造程序本身,实现多租户化;接下来我们使用mycat,结合druid拦截sql添加注释头,利用zk修改mycat配置文件中的schema、dataNode节点等信息,来实现多租户。三种实现方案多租户在数据存储上存在三种主要的方案,分别是:独立数据库这种方案一个租户一个数据...原创 2018-11-09 10:36:06 · 706 阅读 · 0 评论 -
MyEclipse设置字体大小
一、首先在菜单栏找到“Windows”,然后点击“Preferences”二、在弹出的设置窗口中选择“General”—“Appearance”—“Colors and Fonts”,在右侧栏中选择“Basic”—“Text Font”,点击“Edit...”或者"双击”打开字体对话框。三、在字体对话框设置相应的字体、字号后点击“确定”即可。...原创 2018-02-20 18:08:15 · 31385 阅读 · 45 评论 -
Centos 7搭建Gitlab服务器超详细
一、 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。1.安装sshsudo yum install -y curl policycoreutils-pythonopenssh-server 若出现以下图片的信息则表示成功 2....原创 2018-04-21 12:19:28 · 1803 阅读 · 76 评论 -
部署架构
在项目中使用的部署架构以及系统架构图原创 2018-06-24 22:01:50 · 5914 阅读 · 15 评论 -
null和""以及==和equals的那些事儿
前言String的==和equal()关于str.equal(“abc”)和”abc”.equal(str)String的null和“”小结前言最近总是会遇到一些关于判断字符串是否为空的问题?之前总是觉得很简单,心想不就是让一个字符串等于null或者者“”或者用equals吗?但后来在使用的过程中报错了才意识到原来这三个是有区别的!String的==和equ...原创 2018-06-17 23:48:43 · 489 阅读 · 13 评论 -
java.lang.NumberFormatException 错误及解决办法
前言: 在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强制转换,但是没有判断去空格,结果页面加载时就报500错误了。 错误截图:在报错后注意分析报错信息,如上图提示在ShopController.java 的92行出错了,那么错误就很容易定位了,去看那里的代码。...原创 2018-07-24 14:13:34 · 335192 阅读 · 47 评论 -
java实现记录日志
随着编程的不断发展,日志在开发过程中也成了必不可缺的一部分,日志可以帮助我们快速定位错误原因,精准解决存在的问题。在Java 中实现记录日志的方式有很多种, 1. 最简单的方式,就是system.println.out(error) ,这样直接在控制台打印消息了。 2. Java.util.logging ; 在JDK 1.4 版本之后,提供了日志的API ,可以往文件中写日志了。 ...原创 2018-07-29 17:16:37 · 7691 阅读 · 21 评论 -
Java8中List排序--让代码更加优雅的排序方法
在做wab项目中不免会做后台管理,后台最常见的就是表格了,这时候按照一般规则都会按照某个属性进行排序,像这种List<实体>类型的甚为常见。下面给大家分享三种按照属性中的某一个字段排序的例子,有用到的朋友自取~~原创 2018-08-13 22:28:24 · 60912 阅读 · 15 评论 -
java8中List根据某一属性去重
最近再给一个创新创业孵化园做一个wab管理平台,项目中有这么一个需求:每一个入孵入驻的公司需要选择工位,后台管理列表需要通过查询工位来确定这个公司现在入驻在哪个园区中,一个公司不可能只有一个工位,所以检索工位的话会查出来很多条记录,但是园区这个字段都是一样的,我只需要知道是哪个园区就好了,这时候就需要给查出来的List去重了。 关键代码:cpList=cpList.stream().c...原创 2018-08-19 12:29:00 · 10709 阅读 · 15 评论 -
java导出Excel
Controller层:@RequestMapping("/export")@ResponseBodypublicCommonStatusexport(Companybean,HttpServletRequestrequest,HttpServletResponseresponse){ExcelUtil<Company>util=newExcelUtil<Compan...原创 2018-08-26 19:23:13 · 535 阅读 · 13 评论 -
idea添加第三方依赖jar
项目中用到的第三方自己封装的jar包,简单的设置一下就好了。 在菜单栏选择Project Structure… 选择Modules-&amp;gt;选择添加第三方jar的模块-&amp;gt;Depedencies 点击右上角的+号—JAR or directories…选择添加jar包所在的路径下的jar包 选中刚刚添加的那个依赖,(图标是一个文件夹),然后Apply-OK。到这里就...原创 2018-08-29 19:15:12 · 26397 阅读 · 11 评论 -
java里面获取map的key和value的方法
//通过map.entrySet()方法 //方法:循环map里面的每一对键值对,然后获取key和value for (Map.Entry<Integer, List<ProjectWorkflowRoute>> vo : groupBy.entrySet()) { vo.getKey() vo.getVal...原创 2018-09-09 20:43:03 · 1012 阅读 · 6 评论 -
java锁—公平/非公平锁、可重入锁、自旋锁、共享/独占锁
文章目录公平和非公平锁可重入锁 (又称递归锁)自旋锁共享锁 和 独占锁公平和非公平锁公平锁 是指多个线程按照申请锁的顺序来获取锁,类似排队打饭,先来后到。非公平锁 是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁在高并发的情况下,有可能会造成优先级反转或者饥饿现象区别:非公平锁的优点在于吞吐量比公平锁大。Synchronized、Reentran...原创 2019-09-16 18:30:57 · 947 阅读 · 0 评论