Java
只争朝夕^ω^)↗
这个作者很懒,什么都没留下…
展开
-
MySQL 按照月份进行分区实现
昨天倒是遇到一个分表的场景,觉得挺有趣,整张表大小目前300G,想要进行重建,但是写入的数据量理论上还是非常大,改业务有点麻烦,因此选择进行分区,想要按照月份进行分区,每次只保留最近三个月的分区,因此进行重建表,为了不影响业务线,具体方式:旧表重命名-新建表-添加索引-执行分区-删除旧表。关于分区:要求还是比较严格的,只有几种类型,比如hash、range这些,但是想要按照月份,如何实现实现上仍是按照range进行实现,然后表中增加month字段,专门用来做分区用,注意,这个字段比如标注为主键,否则原创 2020-07-04 14:50:10 · 3248 阅读 · 0 评论 -
redis基础类型源码解读
本周给大家分享一下redis的源码解读,主要内容是redis五种数据类型底层是怎么实现的,今天是第一课String类型。------- 摘自 智线云-李丰-每周小课堂第一课、简单动态字符串(sds)字符串的实现是使用c语言自定义的struct结构体,简称为sds(simple dynamic string)简单动态字符串,这个结构体的声明如下:这个是3.0版本结构体定义struct sdshdr { unsigned int len;//存储的字符串长度 unsigned int f原创 2020-07-04 14:30:54 · 325 阅读 · 0 评论 -
Java相关学习-好文博客汇总-容器、锁、调优、框架、数据库、网络、数据结构
将自己在学习过程中遇到的一些非常好的博客进行了一波汇总,按照知识点进行分类。几个大的汇总文章:java面试题汇总,你值得拥有!!!秋招Java之经常被问到的底层原理+调优总结+ 特别的疑问的面试题20+互联网公司面试总结(Java方向)JAVA面试题 java部分牛客面经 | 美团java开发,3轮面试+hr面,穷极详尽美团大众点评面试经验——后台开发美团java全程面经+忠告...原创 2020-04-19 10:40:29 · 149 阅读 · 0 评论 -
Java 面试 相关问题
JMM、老年代在什么情况下会触发GC、对老年代的GC会不会导致程序卡顿?(最优吞吐量和最短停顿时间)1、JMM详解2、老年代:这是HOTSPOT中的垃圾回收机制中的一个名称,在堆进行回收时,如果实行复制回收,那么则会将堆划分为Eden和老年代,以及持久代3、GC有两种情况,一种是Young GC(MinorGC),一种是FullGC,如果是触发FullGC,一般有以下几种方式:老年代空间...原创 2020-03-01 17:22:18 · 337 阅读 · 0 评论 -
java 常见面试题
基本问题基本数据类型和对象的区别(1) 基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的栈上的,数据本身的值就是存储在栈空间里面,Java语言里面八种数据类型是这种存储模型;(2) 引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java堆和栈来进行这种类型的数据存储...原创 2020-03-01 11:19:03 · 381 阅读 · 0 评论 -
面试 数据结构
概述:JAVA中常用的数据结构主要有这样几种分类:List:可存储相同的值(确切讲是a.equals(b)时,二者都可存储)。我们会挑选适宜连续存储的ArrayList和链式存储的LinkedList进行介绍。Set:不可存储相同值。挑选线程不安全的HashSet和线程安全的ConcurrentHashSet进行介绍。Map:存储key-value形式的数据。挑选线程不安全的HashMa...原创 2020-02-29 19:45:02 · 329 阅读 · 0 评论 -
面试 MySQL
索引1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。也可以理解为索引就是一本书的目录,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引那么需要的空间就会更大。2.索引的目的是什么 答:为了高效的...原创 2020-02-29 17:07:36 · 204 阅读 · 0 评论 -
面试常见七大排序
一、基本介绍十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度...原创 2020-02-29 16:12:47 · 993 阅读 · 0 评论 -
Java中的字符串常量池
Java中字符串对象创建有两种形式,一种为字面量形式,如String str = “droid”;,另一种就是使用new这种标准的构造对象的方法,如String str = new String(“droid”);,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式。然而这两种实现其实存在着一些性能和内存占用的差别。这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,...转载 2020-02-29 11:52:42 · 110 阅读 · 0 评论 -
java字符串常用的方法总结
java常见方法函数的实例,1、字符串比较compareTo、compareToIgnoreCase2、字符串查找indexOf、lastIndexOf3、删除字符串4、字符串替代replace、replaceAll5、字符串反转reverse6、字符串转变大小写toUpperCase、toLowerCase7、去掉首位空格trim8、是否包含某字符/字符串contains9、返...原创 2020-02-29 11:45:42 · 781 阅读 · 0 评论 -
JAVA中字符流详解
字符流:就是在字节流的基础上,加上编码,形成的数据流字符流出现的意义:因为字节流在操作字符时,可能会有中文导致的乱码,所以由字节流引申出了字符流。字符输入流:Reader常用子类:FileReader文件字符输入流常用方法:read();read(char[ ]);read(char[ ] ,offset,len);字符输出流: Writer常用子类:文件字符输出流: Fi...转载 2020-02-28 21:51:33 · 340 阅读 · 0 评论 -
java基础 详解java中的byte类型
Java也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte。下面这篇文章主要给大家介绍了关于java中byte类型的相关资料,需要的朋友可以参考下。介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是...转载 2020-02-28 21:46:25 · 452 阅读 · 0 评论 -
c++ 报错 error: stray '\243' in program|
中文翻译为: 报错:非法字符‘\243’在程序中 stray的意思是迷失,偏离,这里应该可以翻译为非法。 243是指ASCII码,加上斜杠代表了一个字符,意思是这个字符是非法的。这种情况一般是三种情况1 是否存在汉字。大多数的C编译器并不识别汉字,所以变量名中不要使用汉字。2 是否存在汉语标点。这种情况是最常见的。C语言要求所有的符号必须是英文半角符号,当有中文标点符号出现时,就会...原创 2020-02-28 17:16:51 · 24914 阅读 · 2 评论 -
c++引用另一个文件/使用同工程下的另外文件函数
如果引用同一个工作工程下的另一个cpp文件,操作如下进行引用#include"pathSum.cpp"如果访问具体的类如pathSum下的Solution 类,可以直接通过 Solution solution; 实例化类来进行访问。class Solution {private: vector<int> sums; int count = 0;public...原创 2020-02-28 17:11:08 · 4446 阅读 · 0 评论 -
java基础 抽象类和接口
抽象类概述 为什么抽象类产生?在我们编写一个类时,会给该类定义一些方法,这些方法是用来描述功能和具体实现的方式,这些方法都有方法体, 例如:一个图形类应该有周长的方法,但是不同的图形求周长方法不一样。分析事物,发现共性,就出现了向上抽取。方法的声名相同,但是方法功能主体不同,这样就可以向上抽取,但只是抽取方法声名,但不抽取方法主体,称这个方法就是抽象方法. 抽象函数类必须被abstract...转载 2020-02-27 15:20:44 · 156 阅读 · 0 评论 -
java基础 int型与byte型数组的转换
几个知识点1、Java中,一个int型占用4个字节,一个byte型占用1个字节,所以,对于一个int型,我们需要一个长度为4的byte型数组来对其进行存储。 2、当你将一个int型强制类型转换为byte型的时候,最高的三个字节会被砍掉,只留下最低的8位赋值给byte型。3、计算机是以补码的形式存放数值型数据,当我们对一个byte型进行移位操作的时候,这个byte型会先自动补全到32位(即一...原创 2020-02-27 13:39:23 · 494 阅读 · 0 评论 -
c++ stringstream 用法
头文件<sstream>概述:<sstream> 定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。本文以 stringstream 为主,介绍流的输入和输出操作。<sstream> 主要用来进行数据类型转换,由于 <sstream> 使用 strin...原创 2020-02-27 11:07:12 · 231 阅读 · 0 评论 -
HTML或JSP中如何使用js程序
script可以写在HMTL或jsp任何地方。 1、js程序。 同一页面中几个是相通的,而不是独立的,之间的变量等可以互相访问。如同jsp中的java代码片段。 2.demo ,冒号后面可以写任意js程序,为了整洁,可以放在一个函数中。执行时机是点击链接时。同样,表单也是如此 3. 事件发生时。任何一个标签都会有一个事件,当事件发生时,可以触原创 2017-11-08 18:32:37 · 3177 阅读 · 0 评论 -
JS/JSP学习的一些问题总结
问题提起: 在做开发过程中,用到了一些前端的知识,因为没有具体的学习过,所以导致一些细节不是很懂,因此进行总结学习,学以致用。问题&解答1、 js如何取得controller中的值?在jsp界面中直接通过 items=”${Verson}” 就可以取得js脚本中的话可以,可以先在jsp中设置一个hidden的input,再在js中通过val进行取值。<input ...原创 2018-08-27 21:05:15 · 547 阅读 · 0 评论 -
SSM + easyUI 搭建简易的人事管理系统 系统概要部分
注意本文本章节只是将一个完整系统的概要进行展示,并加入我自己的一些思考,对细节部分不再赘述,有时间再进行补充代码等部分;目前太乱还未整理,不建议观看!part1:Java EE 架构:SSM(Spring + Spring MVC + MyBatis)框架 表现层技术:JSP 前端框架:easyUI 项目管理工具:Maven 数据库:MySQLpart2 开发环...转载 2018-08-27 20:33:50 · 794 阅读 · 0 评论 -
操作系统面试题
操作系统面试题1、进程和线程的区别?解析:(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元 (2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。 (3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有...原创 2018-08-10 11:15:25 · 180 阅读 · 0 评论 -
JUnit概述及一个简单例子
JUnit概述及一个简单例子原文地址:https://blog.csdn.net/zen99t/article/details/50561136 有1-4部分,这里只引用了一部分 1.概述 1.1 什么是JUnit ①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JU...转载 2018-08-10 11:06:03 · 841 阅读 · 0 评论 -
Java 八大基本数据类型以及包装类
Java 八大基本数据类型以及包装类一、java中八种基本数据类型对应的包装类型: 原始类型 包装类 原始类型所占的字节数 short Short 2个字节 int Integer 4个字节 long Long 8个字节 float Float 4个字节 double Double ...原创 2018-08-10 10:54:09 · 5640 阅读 · 2 评论 -
MySQL以及eclipse使用常用知识
Eclipse中server启动超时的解决方法 今天碰到一个问题,我把连接池的初始连接数设到10,结果在eclipse里启动tomcat的时候出现以下的错误: Server Tomcat v6.0 at localhost was unable to start within 45 seconds. If the server requires more time, try increasin...原创 2018-08-10 10:41:08 · 269 阅读 · 0 评论 -
qingcailuobo博客源代码MySQL数据库结构
MySQL登陆 打开cmd,mysql -uroot -p; 然后需要输入密码就可以。导入数据库脚本#因为导入的脚本是要进入某一个数据库的,因此如果还没有数据库的话就新建一个。create database qingcailuobo;use qingcailuobo;source d:\qingcailuobo.sql;检查数据库中的东西>use qi...原创 2018-03-22 11:39:56 · 166 阅读 · 0 评论 -
JAVA多线程关键字synchronize的使用方法
这里通过对一个银行存钱取钱程序的模拟去演示在使用多线程的时候synchronize关键字的作用。 1. 不加同步锁的代码package threadTest;public class Bank { private int count =0;//账户余额 //存钱 public void addMoney(int money)...原创 2018-03-22 11:18:18 · 1002 阅读 · 0 评论 -
J2EE和J2se的区别
不管是J2ee还是J2se,都是Java为不同用户提供的不同服务,也就是通过提供不同类型的类库满足不同用户的需求。一、概述 j2se、j2ee和J2me是Java2平台的三个版本。其中: J2se(Java 2 standard edition),是Java2的标准版,主要用于开发桌面的应用程序。J2se包含了构成Java语言核心的类:数据库连接...转载 2018-03-24 19:49:10 · 1235 阅读 · 0 评论 -
Spring 入门学习教程地址
个人理解: Spring 是最受欢迎的企业级 Java 应用程序开发框架。是一个非常轻巧但是功能特别强大的开发框架。主要特点是依赖注入(DI)和面向方面的程序设计(AOP)。 以下是一个教程地址,可以转到这里进行较为详细的学习。 http://wiki.jikexueyuan.com/project/spring/...原创 2018-03-22 17:05:02 · 169 阅读 · 0 评论 -
js动态往div里添加按钮的两种方式以及jQuery中$.each的用法详解
1、js动态往div里添加按钮的两种方式 方式1:var MyDiv =document.getElementById("div_id");var button = document.createElement("input"); button.setAttribute("type", "button");button.setAttribute("value", value);b...原创 2018-08-27 21:55:10 · 5391 阅读 · 0 评论 -
Java拼接字符串时,去掉最后一个多余的逗号,或者Java删除某个字符
如下是通过位置去删除固定的字符String str[] = { "hello", "beijing", "world", "shenzhen" };StringBuffer buf = new StringBuffer();for (int i = 0; i < str.length; i++) { buf.append(str[i]).append(",");}if..原创 2018-08-28 19:00:33 · 21128 阅读 · 0 评论 -
JAVA 学习总结Math类、Java几个常用的包、HashMap和HashTable、集合类介绍Collection、会话跟踪
整理二十道Java题1、 Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.fl...原创 2018-09-20 22:40:12 · 317 阅读 · 0 评论 -
SQL一些用法学习知识点总结
1、js、Java以及SQL分别修改日期。js是var date = new Date();date.setMonth(date.getMonth()-3);2、注意case when then else end 的用法3、declare @name dataType 这是定义 ,赋值的话可以是set或者select,select可以查到值再进行赋值4、union用法,会合并两个字段...原创 2018-09-18 21:56:51 · 266 阅读 · 0 评论 -
SQL server、JS和JAVA分别获取当前日期的三个月前的日期
JS: var date = new Date(); date.setMonth(date.getMonth()-3); alert(date.format('dd/MM/yyyy hh:mm:ss'));JAVA:Calendar calendar = Calendar.getInstance();calendar.add(Calendar.MONTH, -3);//得到前3个月...原创 2018-09-18 11:29:38 · 3814 阅读 · 0 评论 -
实体对象 转换为 jsonArray
引入包:import net.sf.json.JSONSerializer;然后其实就一句话System.out.println(JSONSerializer.toJSON(rf).toString());详细的话请看https://blog.csdn.net/rookie_s/article/details/54862894...转载 2018-09-17 21:10:09 · 3045 阅读 · 2 评论 -
Java Web后台从request里面获取的数据是乱码问题
**问题是这样的:**前台页面发送请求,提交的是中文数据,但是在后台获取的时候就变成乱码了。最后也以乱码的形式存入数据库了。我看网上提到了两种方式,但是我忘记了我使用的那种方式,都可以试试方法1:Tomcat设置编码:D:\Program Files\apache-tomcat-7.0.64\conf\server.xml找到<Connector port=“8080” proto...转载 2018-09-17 20:47:54 · 2444 阅读 · 0 评论 -
防止SQL注入的五种方法
防止SQL注入的五种方法一、SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置2.判断服务器类型和后台数据库类型3.针对不通的服务器和数据库特点进行SQL注入攻击三、SQL注入攻击实例比如在一个...原创 2018-08-28 21:35:34 · 2056 阅读 · 0 评论 -
浅谈md5加密 以及C++实现
md5加密是我们生活中十分常见的加密算法。起因:我是最近在写一个H5 的项目时接触到的这个算法,这个算法极大的引起了我的好奇心,是登陆界面,要求是将用户输入的密码使用md5加密之后,再传回服务器,当时我十分不理解原因是什么.废话少说 原因 1、密码在前端进行加密,然后服务器使用摘要进行比对,这样在整个密码的校验过程中是在服务器端不知道明码的情况下进行的,极大的保证了密码的安全,试想一...原创 2018-08-28 21:31:23 · 1848 阅读 · 0 评论 -
sql 多组条数据取最新的一条数据
数据如下图 ,id1即user_id 字段有多组数据,我们只需要每个 user_id 的最新一条数据 方式:ROW_NUMBER() OVER 具体是 使用 – ROW_NUMBER() OVER ( PARTITION BY tlt.user_id order by tlt.handle_time desc) rowNum 来区分,从而获取最新数据具体实现SELECT *...原创 2018-08-28 21:22:16 · 5347 阅读 · 0 评论 -
如何使用jquery刷新当前页面
如何使用jquery刷新当前页面window.location.reload()刷新当前页面. //亲测可用parent.location.reload()刷新父亲对象(用于框架)opener.location.reload()刷新父窗口对象(用于单开窗口)top.location.reload()刷新最顶端对象(用于多开窗口)...原创 2018-08-28 21:01:58 · 5906 阅读 · 0 评论 -
JAVA面试试题及答案_2018网易
java如何接受request域中的参数? request.getParameter() request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。getAttribute是返回对象,getParameter返回字符串。下列关于java 中的 wait()方法和 sleep...原创 2018-03-22 15:34:33 · 2055 阅读 · 0 评论