
JAVA
niceguy_smile
Java资深技术专家,专注于java领域,并发编程,jvm,分布式微服务等 欢迎各位大佬共同交流技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Object类源码分析
前一段时间发的文章都是一些感想之类的,并没有涉及到多少技术的东西。想了半天该写什么文章好,最后还是想了想写一篇简单的object类源码分析吧。记得一个视频中的老师提到(大家都看过的,我就不说是哪个视频了),object是java的上帝,所以这个类很关键。而且面试时曾经问过两个object类的问题,一个是object类有多少个方法,一个是object的equals方法是如何实现的(就在不久前)。Object是java.lang包下的一个类,大部分都是native本地方法。自我...原创 2020-09-12 23:31:10 · 260 阅读 · 0 评论 -
方法中赋值全局变量最好加上this
如果方法中没有和全局变量重名的变量,最好也在赋值变量时加上this。如果不加this,在后期维护时,出现了重名的变量会出现问题。原创 2020-05-31 00:09:52 · 694 阅读 · 0 评论 -
java获取堆的大小
原创 2019-11-19 11:14:37 · 718 阅读 · 0 评论 -
日常技术积累
java多线程中wait和notify一直是我学习中遗漏的一个地方,今天打算把这个坑填上先贴代码:package com.nice.test;import org.junit.Test;public class Demo implements Runnable{ public boolean flag = false; private static De...原创 2019-11-11 05:26:17 · 160 阅读 · 0 评论 -
jdbc执行插入操作
项目架构为:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio...原创 2019-11-05 21:44:15 · 1739 阅读 · 0 评论 -
实现一个简单的并发效果
很多公司都要高并发经验并发在很多公司都会用到,特别是电商公司,尤其是双十一秒杀系统下面我来带大家写一个简单的并发demo,不说了直接上代码package com.nice;import java.util.concurrent.*;public class ExecutorTest { public static boolean flag = true; /...原创 2019-10-20 08:50:46 · 292 阅读 · 0 评论 -
com.alibaba.fastjson.JSONException异常解决方法
postman测试传递的json中 {}不是[]多谢公众号号主平头哥,希望平头哥的公众号越来越火原创 2019-10-14 15:18:43 · 43391 阅读 · 0 评论 -
String使用的注意事项
String str1 = "nice" ;String str2 = new String("nice");System.out.println(str1==str2); //falseSystem.out.println(str1.equals(str2)); //true区别就是str1开辟了一块内存空间,而str2开辟了两块内存空间,指向的是第二块内存空间==和equa...原创 2019-06-18 16:55:30 · 224 阅读 · 0 评论 -
ftp使用注意事项
setsebool allow_ftpd_full_access on 解决文件目录不显示的问题chroot_local_user=YESchroot_list_enable=YESchroot_list_file的路径要和useradd -d后面的路径一样原创 2019-04-17 14:05:23 · 386 阅读 · 0 评论 -
Javase基础10
流程控制语句 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。 流程控制语句分类 顺序结构 顺序结构概述 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺...原创 2019-04-03 17:23:52 · 215 阅读 · 0 评论 -
javase基础09
运算符 运算符 对常量和变量进行操作的符号成为运算符 表达式 用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。 定义两个int类型的变量a,b,做加法(a+b) 常用运算符 算术运算符 赋值运算符 关系运算符 ...原创 2019-04-03 11:18:56 · 124 阅读 · 0 评论 -
javase基础08
类型转换 +是一个运算符,我们应该能够看懂,做数据的加法 boolean类型不能转换为其它的数据类型 默认转换 byte,short,char-int-long-float-double byte,short,char相互之间不能转换,它们参与运算首先转换为int类型 强制转换 目标类型 变量名=(目标类型)(被转换的数据...原创 2019-04-03 08:02:11 · 234 阅读 · 0 评论 -
java数据结构学习笔记1
什么是数据结构抽象出一个适当的数学模型,能解此数学模型的算法就是数据结构什么是结构个人理解:比如说我想从一堆人的资料中找出年龄为25岁以上的,想要找出结果完全取决于这些人中年龄和其它个人信息的对应关系。一个人的资料中有姓名,性别,年龄等,这种依赖关系就是一种结构。什么是数据呢能输入到计算机中并且被计算机处理的就是数据,比如图像啊,音频啊,视频啊,文本啊,巴拉巴拉。。。什么是...原创 2019-08-25 21:24:08 · 162 阅读 · 0 评论 -
hashmap学习01
具体流程掌握的还不是特别明白,正在不断调试中原创 2019-08-26 01:31:02 · 106 阅读 · 0 评论 -
日常踩坑总结1
业务逻辑层要用业务相关的名称命名,比如用BbsUserService这样的命名就不符合规范,命名要用LoginService,RegisterService这些。还有尽量不要用逗号分隔符,用中间表来代替。以及修改语句时,如果不确定修改的是哪个字段,可以先查询出来,进行比较之后进行更新。Delete,Put等请求方式尽量不要使用,在拦截器上对这些请求进行拦截处理。富文本编辑器敏感字符...原创 2019-08-21 17:03:31 · 184 阅读 · 0 评论 -
代码规范建议
类上方法上都要加注释,方法上不要用单行注释或多行注释,不要用行尾注释,类上的方法注释要标明日期和作者,连续两行以上代码注释尽量不要用 单行注释,命名要见名之意,单词之间尽量保证四个空格...原创 2019-09-29 10:51:23 · 222 阅读 · 0 评论 -
binary = Base64.getEncoder().encodeToString(bytes).trim(); 提示找不到包解决方法
sun.*的包换成import org.apache.commons.codec.binary.Base64;可以解决BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(outputStream.toByteArray()).replaceAll("\n","");也...原创 2019-09-29 11:37:21 · 11951 阅读 · 1 评论 -
debug调试无效解决方案
看看用来测试的是postman还是直接用前端页面或者小程序来调试,看看ip是否和后台测试ip一致原创 2019-10-02 02:07:19 · 1582 阅读 · 0 评论 -
安装jenkins出现Job for jenkins.service failed because the control process exited with error code. See “s
看看是不是忘了安装jdk原创 2019-10-02 02:08:45 · 1013 阅读 · 0 评论 -
javase基础07
变量的定义和使用 编写案例演示每种不同数据类型的变量定义 变量定义的注意事项 变量未赋值,不能直接使用 引出变量的第二种使用格式 变量只在它所属的范围内有效 变量在哪对大括号内,变量就属于哪对大括号 一行上可以定义多个变量,但是不建议 ...原创 2019-04-02 23:21:09 · 116 阅读 · 0 评论 -
javase基础06
变量的定义和使用 编写案例演示每种不同数据类型的变量定义 变量定义的注意事项 变量未赋值,不能直接使用 引出变量的第二种使用格式 变量只在它所属的范围内有效 变量在哪对大括号内,变量就属于哪对大括号 一行上可以定义多个变量,但是不建议 ...原创 2019-04-02 23:14:02 · 146 阅读 · 0 评论 -
javase基础05
标识符 命名规则 基本要求 见名之意 常见命名规则 包 全部小写,多级包用点隔开。 com.com.itheima 类 一个单词首字母大写 Student,Car 多个单词,每个单词首字母大写 HelloWo...原创 2019-04-02 22:43:33 · 138 阅读 · 0 评论 -
springboot整合redis笔记1
redis是一种运行在内存的数据库支持7种数据类型的存储使用redis需要导入以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>...转载 2018-12-07 00:18:44 · 189 阅读 · 0 评论 -
前端跳转和后端跳转哪个好
如果用后端渲染技术像jsp,就用后端跳转,前后分离就用前端跳转原创 2018-10-24 10:54:56 · 3591 阅读 · 0 评论 -
每日笔记
用户表 用户+角色关系表 角色表 角色+资源关系表 资源表 有利于扩展,通过session获取用户名有sessionId后 每次都通过这个值去取用户名就好了...原创 2018-10-22 07:56:41 · 208 阅读 · 0 评论 -
包名和文件名的注意事项
包名和文件名不一样,创建的时候注意区分原创 2018-09-28 22:58:57 · 648 阅读 · 0 评论 -
Hibernate教程01
如何创建第一个hibernate项目1.创建项目2.导包3.写配置文件4.创建实体类和数据库5.创建测试类以上是需要导入的包创建一个Customer.hbm.xml文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping ...原创 2018-06-28 23:40:48 · 507 阅读 · 0 评论 -
springboot整合webflux
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apa原创 2019-02-09 23:11:05 · 938 阅读 · 0 评论 -
谈一谈rocketmq,activemq,rabbitmq,kafka,zeromq的区别
消息中间件对于一些服务者和消费者之间进行了更好的优化措施。首先说说rocketmq的好处,rocketmq可以堆积大量数据之后,延迟仍然没有太大改变,activemq延迟小,更高效,rabbitmq适用的场景最多,zermq的速度最快,kafka的吞吐量最多适合大数据开发...原创 2019-02-14 07:23:17 · 319 阅读 · 0 评论 -
javase基础04
标识符 作用 给包,类,方法,变量等起名字 组成规则 由字符,下划线_,美元符$组成 这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符(不建议使用),数字字符等。 注意事项 不能以数字开头 不能是Java中的关键字 ...原创 2019-04-02 22:10:15 · 164 阅读 · 0 评论 -
javase基础03
数据类型概述java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。注意:1.整数默认是int类型,浮点数默认是double类型2.定义long类型数据的时候,要加L或者l,建议加L3.定义float类型数据的时候,要加F或者f,建议加F...原创 2019-04-02 21:31:28 · 206 阅读 · 0 评论 -
javase基础02
计算机存储单元 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫"位(bit)",我们又称之为"比特位",通常用小写的字母b表示。而计算机最小的存储单元叫"字节(byte)",通常用大写字母B表示,字节是由连续的8个位组成。 除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看: ...原创 2019-04-02 20:06:41 · 147 阅读 · 0 评论 -
javase基础01
关键字 关键字概述 被java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去司机硬背,在今后的学习中重要的关键字也会不断地出来。 用于定于访问权限修饰符的关键字 private protected public 用于定义类,函...原创 2019-04-02 19:46:45 · 158 阅读 · 0 评论 -
java隐式类型转换
走你这哥们不给我面子,挂掉了略做修改编译,运行终于打印出结果了java类型转换分为隐式类型转换和强制类型转换隐式转换优先级byte,short,char -> int -> long -> float -> double...原创 2019-04-02 18:26:14 · 2697 阅读 · 0 评论 -
java包装类之Integer类源码分析
Integer类是实体类中必不可少的一个包装类型,其它类中可能也会用到,下面我来讲讲Integer类的源码分析:/** *@author nice *继承了Number类实现了Comparable<Integer>接口 */public final class Integer extends Number implements Comparable<Integer&...原创 2019-03-27 19:10:50 · 313 阅读 · 0 评论 -
接口和抽象类的区别
接口和抽象类的共同点:1.都是上层的抽象层2.都不能被实例化3.都能包含抽象的方法抽象类可以有默认的方法实现完全是抽象的。接口根本不存在方法的实现。抽象类使用extends关键字来继承抽象类,如果子类不是抽象类的话,需要提供抽象类中所有声明的方法的实现。子类使用关键字implements来实现接口,需要提供接口中所有声明的方法的实现。抽象类可以有构造器...原创 2019-03-26 07:03:33 · 152 阅读 · 0 评论 -
请求头详解
Accept:客户端向服务器表示,我能支持什么类型的数据。Reterer:真正请求的地址路径,全路径。Accept-Language:支持语言格式。User-Agent:用户代理 向服务器表明,当前来访的客户端信息。Content-Type:提交的数据类型,经过urlencoding编码的form表单的数据。Accept-Encoding: gzip,deflate : 压缩算...原创 2019-03-26 06:17:09 · 286 阅读 · 0 评论 -
java包装类之String类源码分析
String类是一个字符串的包装类,下面我来给大家分析一下String类的源码。public final class String implements java.io.Serializable, Comparable<String>, CharSequence可以看到String类是一个final类,不可以用来继承,Serializable接口(可序列化接口),Co...原创 2019-03-17 08:26:30 · 267 阅读 · 0 评论