-
堆和堆参数调优
所属栏目:[Java] 日期:2020-12-15 热度:135
一、再议永久代和方法区 上一篇提到:在8版本以前,JVM采用堆空间的一部分实现方法区,这部分堆空间被称为“永久代”,由于类的结构信息和运行时常量池是放在方法区的,使用永久代实现方法区容易导致堆内存溢出。在8版本推出以后,Java采用了堆外内存即本机[详细]
-
java(spring boot 读写分离)双数据源,注解形式动态代理数据源
所属栏目:[Java] 日期:2020-12-15 热度:185
应用场景是我们一个线上项目,因为客户需要很高的并发量的导出excle文档,然后对于报表的SQL来说,因为数据量的原因,查询的时间相对来说是比较长的, 在SQL执行过程中,项目还在实时的运营,为了不影响运营,我们决定采用数据库读写分离,避免锁表以及并发[详细]
-
使用token机制做登录鉴权(threadlocal+redis)
所属栏目:[Java] 日期:2020-12-15 热度:144
登录流程: 一:登录成功后: 1,根据userId生成token,放入redis中 key为token,value为用户信息进行存储。 2,response token到前端的cookie中 3,threadlocal中存储user 信息 二:拦截器: 1,通过request获取前端的cookie,check token(有两个token,token2[详细]
-
驼峰命名法
所属栏目:[Java] 日期:2020-12-15 热度:90
mybatis和mybatis-plus默认是属性名和数据库字段名一一对应的,即? 数据库表列:user_id 实体类属性:user_id 但是java中一般使用驼峰命名? 数据库表列:user_id? 实体类属性:userId 在Springboot中,可以通过设置map-underscore-to-camel-case属性为true来[详细]
-
虚拟机NAS存储的安装
所属栏目:[Java] 日期:2020-12-15 热度:171
1.下载一款免费的NAS系统fressNAS 下载网址;https://www.freenas.org/download/ ? ? ? ?2.选择配置好虚拟机(内存设置8G最好,选择桥接) 不要做任何操作等待进入安装画面 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?选择OK回车,回到安装界面选择 ? ? ? ? 在控制台[详细]
-
java-day02
所属栏目:[Java] 日期:2020-12-15 热度:144
数据类型自动转换 要求:数据范围从小到大 数据类型强制类型转换 格式:范围小的数据类型 范围小的变量名 = (范围小的数据类型)原范围大的数据 注意事项: 1.可以会造成数据溢出或者是精度损失。 2.byte/short/char三种类型都可以发生数学运算。 3.byte/sh[详细]
-
读取Properties
所属栏目:[Java] 日期:2020-12-15 热度:157
package com.infotech.common.util;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Properties;/** * @ClassName Confkit.java * @Description TODO * * @author D.C * @version V1.0 * @CreateDate 2017年7月5日 下午3[详细]
-
Java While 循环
所属栏目:[Java] 日期:2020-12-15 热度:172
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符串 Java Math Java 布尔运算 Java If … Else Java Switch Java While 循环 Java For 循环 Java Break 与 Contin[详细]
-
Java Switch
所属栏目:[Java] 日期:2020-12-15 热度:86
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符串 Java Math Java 布尔运算 Java If … Else Java Switch Java While 循环 Java For 循环 Java Break 与 Contin[详细]
-
java数据类型转换
所属栏目:[Java] 日期:2020-12-15 热度:78
/* 数据类型不一样时,将发生数据类型转换。自动类型转换(隐式): 1、特点:代码不需要进行特殊处理,自动完成 2、规则:数据范围从小到大,与字节数无关 强制类型转换(显式): 1、特点:代码需要进行特殊处理,不自动完成 2、格式:范围小的类型 范围小[详细]
-
Java IO流和文件操作
所属栏目:[Java] 日期:2020-12-15 热度:51
Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。 一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标[详细]
-
java常量
所属栏目:[Java] 日期:2020-12-15 热度:159
/* 常量:在程序运行期间,固定不变的量分类:1、字符串常量:凡是用双引号引起来的部分,叫做字符串常量。如:"abc","hello"2、整数常量:直接写上的数字,没有小数点 如:200,300,-2003、浮点数常量: 直接写上的数字,有小数点。如 2.23,3.144、字符常量[详细]
-
java中equals和==的区别
所属栏目:[Java] 日期:2020-12-15 热度:107
来源:https://www.cnblogs.com/zjc950516/p/7877511.html ==: == 比较的是 变量(栈)内存中存放的对象的(堆)内存地址, 用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。 1、比较的是操作符两端的操作数是否是同一[详细]
-
一文彻底弄懂如何选择抽象类还是接口
所属栏目:[Java] 日期:2020-12-15 热度:183
前言 抽象类、接口对于不论是Java、C++等程序猿都不陌生,但你知道如何正确地使用抽象类和接口吗?你是否还在模棱两可、只是简单记忆了两者的区别,遇到实际情况就不知道如何选择? 今天,我就来带你彻底弄清楚这俩的区别,当然,本文基于Java,但是对其他语[详细]
-
如何快速创建百万级测试数据
所属栏目:[Java] 日期:2020-12-15 热度:66
场景 进行SQL优化或查询性能测试时,我们需要大量数据测试来模拟,这个时候引出一个问题: 数据的创建 如何快速创建大量数据 创建数据无非几种操作下面一一列举; 1 手动输入 (可忽略) 2 使用编写好的存储过程和函数执行 (下面会有介绍) 3 编写代码,通过代码插入[详细]
-
这10道springboot常见面试题你需要了解下
所属栏目:[Java] 日期:2020-12-15 热度:60
1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。 如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Mav[详细]
-
JDK 从老版本升级到 1.8的问题总结
所属栏目:[Java] 日期:2020-12-15 热度:80
JDK8 升级常见问题 JDK8 发布很久了,它提供了许多吸引人的新特性,能够提高编程效率。 如果是新的项目,使用 JDK8 当然是最好的选择。但是,对于一些老的项目,升级到 JDK8 则存在一些兼容性问题,是否升级需要酌情考虑。 近期,我在工作中遇到一个任务,将[详细]
-
这是一篇来源于阿里内部技术论坛的文章
所属栏目:[Java] 日期:2020-12-15 热度:125
这是一篇来源于阿里内部技术论坛的文章,原文在阿里内部获得一致好评。作者已经把这篇文章开放到云栖社区中供外网访问。Hollis对文章内容做了部分删减,主要删减掉了其中只有阿里内部才能使用的工具的介绍,并删减掉部分只有通过阿里内网才能访问到的链接。[详细]
-
JAVA并发之基础概念
所属栏目:[Java] 日期:2020-12-15 热度:85
1.并发和并行 举个例子 并发(concurrency):并发的关键在于有处理多个任务的能力,但并不一定就是同时处理. 例1: 吃饭时,电话响起,暂时停下吃饭的动作,接完电话后继续吃饭. 例2: 一个人吃3个馒头 并行(parallelism):并行的关键在于同时处理多个任务 例子1: 吃[详细]
-
请勿过度依赖Redis的过期监听!!
所属栏目:[Java] 日期:2020-12-15 热度:127
作者:迪壳 https://juejin.im/post/6844904158227595271 Redis 过期监听场景 业务中有类似等待一定时间之后执行某种行为的需求,比如 30 分钟之后关闭订单 . 网上有很多使用 Redis 过期监听的 Demo,但是其实这是个大坑,因为 Redis 不能确保 key 在指定时间被[详细]
-
公司线上虚拟机大量GC导致STW和CPU飙升--抽丝剥茧定位的过程
所属栏目:[Java] 日期:2020-12-15 热度:181
作者: bryan31 原链接:https://www.v2ex.com/t/701513 背景 公司线上有个 tomcat 服务,里面合并部署了大概 8 个微服务,之所以没有像其他微服务那样单独部署,其目的是为了节约服务器资源,况且这 8 个服务是属于边缘服务,并发不高,就算宕机也不会影响核[详细]
-
Java中的OutOfMemoryError的各种情况及解决和JVM内存结构
所属栏目:[Java] 日期:2020-12-15 热度:80
在JVM中内存一共有3种:Heap(堆内存),Non-Heap(非堆内存) [3]和Native(本地内存)。 [1] 堆内存是运行时分配所有类实例和数组的一块内存区域。非堆内存包含方法区和JVM内部处理或优化所需的内存,存放有类结构(如运行时常量池、字段及方法结构,以及[详细]
-
JAVA 内部类
所属栏目:[Java] 日期:2020-12-15 热度:148
public class A { int i; public A() { // TODO Auto-generated constructor stub } B { j; add() { return i + j; } }} Test { Test() { static void main(String[] args) { TODO Auto-generated method stub A a = new A(); a.i = 3 ; A.B b = a. B(); b.j[详细]
-
Android 线性布局 计算器
所属栏目:[Java] 日期:2020-12-15 热度:183
? xml version="1.0" encoding="utf-8" ? LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="match_parent" android:layout_height android:background ="#FFFFFF" android:orientation ="vertical" Linear[详细]
-
Android 列表对话框 使用数组
所属栏目:[Java] 日期:2020-12-15 热度:168
添加一个数组 @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button.setOnClickListener( new OnClickLis[详细]