![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
在屋顶听歌
Stay Focused And Work Hard !!!
展开
-
URL乱码解决
遇到的实际问题: 线上的程序一直正常运行的,有一天正常运行的程序突然出现有些功能模块出现乱码,后来经过排查发现出现乱码的模块是因为提交到地址访问栏时有中文提交,且这段时间线上对数据与linux服务进行了更换。解决的方法:双重解码 当初对url的解码是这样的 url : aa/bb/cc!getList.action?org=” + encodeURI(“中文”)原创 2016-12-03 20:42:07 · 336 阅读 · 0 评论 -
Ldap 之API 简单运用
直接上代码package com.bms.service.ldapimpl;import java.util.ArrayList;import java.util.List;import org.jboss.logging.Logger;import com.bms.service.LdapApi;import com.bms.utils.PropertyUtil;import com.unb原创 2017-08-03 21:26:42 · 5677 阅读 · 1 评论 -
Ranger 之java 接口操作
简单粗暴直接上代码package com.bms.service.rangerimpl;import org.apache.ranger.admin.client.datatype.RESTResponse;import org.apache.ranger.plugin.model.RangerPolicy;import org.apache.ranger.plugin.util.RangerR原创 2017-08-03 21:34:48 · 5895 阅读 · 13 评论 -
Java 操作HDFS 简单案例 (Kerberos已开启)
直接上代码如下package com.hdfs.demo;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URI;import java.net.URISyntaxExc原创 2017-09-22 17:22:31 · 1492 阅读 · 2 评论 -
一文读懂JVM
(一)JVM 基础知识1)Java 是如何实现跨平台的?注意:跨平台的是 Java 程序,而不是 JVM。JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM答:我们编写的 Java 源码,编译后会生成一种 .class 文件,称为字节码文件。Java 虚拟机(JVM)就是负责将字节码文件翻译成特定平台下的机器码然后运行,也就是说,只要在...转载 2019-05-07 16:13:00 · 320 阅读 · 0 评论 -
高并发编程
(一)高并发编程基础知识这里涉及到一些基础的概念,我重新捧起了一下《实战 Java 高并发程序设计》这一本书,感觉到心潮澎湃,这或许就是笔者叙述功底扎实的魅力吧,喜欢。对于并发的基础可以参照一下我之前写过的一篇博文:Java学习笔记(4)——并发基础1)多线程和单线程的区别和联系?答: 在单核 CPU 中,将 CPU 分为很小的时间片,在每一时刻只能有一个线程在执行,是一种微...转载 2019-05-07 16:14:23 · 256 阅读 · 0 评论 -
JDK1.8 之HashMap 原理探索
前言: 为啥出来工作4年之后再来探究HashMap的原理呢? 从开始出来工作之后,就断断续续的了解了HashMap的一些原理,但终究是没形成一个比较完整的架构,还有就是近期在进行数据结构的系统学习,还有就是发现JDK8之后对HashMap做了不少的优化。 首先需要明确一点 HashMap的底层数据结构是散列表,其整个组成由数组+链表或数组+链表与树组成。如下图所示...原创 2019-06-18 23:55:44 · 314 阅读 · 0 评论 -
JVM GC机制初探(三)
前言1. GC处理重点区域2. STW机制3. 对象分配规则一、垃圾标记1. 引用计数算法2. 根搜索算法二、垃圾收集器算法的分类1. 标记清除算法(Mark-Sweep)2. 复制算法(Copying)3. 标记压缩算法(Mark-Compact)4. 增量算法(Incremental Collecting)5. 分代算法(Generational...原创 2019-07-13 17:09:04 · 317 阅读 · 0 评论 -
JVM 入门学习(一)
前言一、JVM 是什么二、JVM 组成架构1. JVM 的发展史2. JDK默认的JVM HotSpot组成架构三、Java 代码是如何运行的1. 前端编译2. 类加载3. 运行时编译前言 为什么要学习JVM? 针对为什么要学习JVM,对于一个工作了四年之久的老人,笔者很尴尬的回答主要原因是面试会被问到这个。当然还有啥扩展视野、满足好奇心等,但这些貌...原创 2019-07-11 18:29:10 · 286 阅读 · 0 评论 -
Java项目开发步骤
一、安装JDK(可以在root权限下安装,这样其它用户也会有该环境) 1.1上传jdk-8u91-linux-x64.tar.gz 到指定目录 1.2解压jdk #创建文件夹 mkdir /usr/java #解压 tar -zxvf jdk-8u91-linux-x64.tar.gz 1.3将java添加到环境变量中 vim /etc/profi原创 2016-12-04 11:08:34 · 654 阅读 · 0 评论 -
Java文本读写
1、我们一般以行的方式来读取文本文件的 下面是用例: BufferedReader/BufferedWriter读: 写: out = new OutputStreamWriter(new FileOutputStream(file),”GBK”); bfw = new BufferWriter(out);源文件中的编码方式为UTF-8,输出时也为UTF-8,结果输出乱码,问题出在原创 2016-12-04 09:44:08 · 299 阅读 · 0 评论 -
优化后的split切割方法
jdk 自带的split切割方法效率比较低,当需要切割的次数过多时就需要对其进行一些必要的优化,优化后的方法如下所述。/** * 切割方法 * @param delimiter 分割符 * @param str 要分隔的字符串 * @return arr 每行数据分割后的数组集合 */ public static String[] splitStr(String原创 2016-12-04 10:46:26 · 850 阅读 · 0 评论 -
String 与 StringBuffer/StringBuilder
1、String 与 StringBuffer String类中使用字符数组保存字符串,如下查看String源码时发现,其有“final”修饰符,所以可以知道string对象是不可变的。 String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:原创 2016-12-22 18:09:18 · 265 阅读 · 0 评论 -
JVM 内存模型(二)
一、JVM内存架构1. 方法区(MethodArea)2. 堆(Heap)3. 程序计数器(PC Regiser)4. 虚拟机栈(VM Stack)5. 本地方法栈(Native Method Stack)二、JVM 简单参数说明注:环境JDK8、HotSpot一、JVM内存架构JVM内存由堆、方法区、程序计数器(PC寄存器)、虚拟机栈(Java栈)、本地方法栈...原创 2019-07-12 13:13:55 · 246 阅读 · 0 评论