java
文章平均质量分 55
maybe__god
唯有那些看了很多书,又在看完之后通过自己的语言把书中的知识讲述出来、写下来的人,才真有长进。为什么要写?因为只有你表达了自己的看法,别人才能给你反馈,你才能通过反馈知道自己哪儿是对的、哪儿是错的,才能有所改善。从不表达自己的人,看再多书、刷再多博客也是没什么长进的。
展开
-
C/C++ & JAVA 内存布局
(在编译后的文件中称:段 ; 在内存中称:区)C1.栈区Stack:局部变量,实参,返回数据,返回地址2.堆区Heap:maloc()/free()操作的内存空间3.全局区/静态区:C程序根据全局变量和静态变量有没有进行显示初始化,还将全局区/静态区分为BSS(未初始化)和DATA(已初始化)4.常量区:存储不能修改的常量(关于局部的字符串常量是存放在全局的常量区还是栈原创 2017-08-01 09:06:58 · 335 阅读 · 0 评论 -
Maven安装与配置
https://www.cnblogs.com/eagle6688/p/7838224.html转载 2018-02-27 19:28:57 · 101 阅读 · 0 评论 -
观察者模式
http://blog.csdn.net/zhengzhb/article/details/7471978在最基础的观察者模式中,包括以下四个角色:被观察者:从类图中可以看到,类中有一个用来存放观察者对象的Vector容器(之所以使用Vector而不使用List,是因为多线程操作时,Vector在是安全的,而List则是不安全的),这个Vector容器是被观察者类的核心,另外还有三个方法:atta...转载 2018-03-08 19:53:40 · 115 阅读 · 0 评论 -
String对象和字符串池探究
1.JVM的方法区有个常量池,常量池中有字符串缓存池,还有Byte、Short、Integer、Long、Float、Double、Character等的缓存池。用直接量创建的字符串会存放在字符串缓存池里 String s = "hello"; System.out.println(s.hashCode()); String s2 = "hello"; System.out.p...原创 2018-03-10 13:47:25 · 162 阅读 · 0 评论 -
使用Eclipse创建Maven项目
Maven介绍1. Maven是一个项目管理和整合工具 。基于工程对象模型(POM)的概念。2. 当我们创建一个Maven项目后,就不需要再自己去导入各种jar包了,将需要导入的jar包依赖信息配置在pom.xml中,Maven会根据具体的配置自动地在编译、测试和运行的时候,从本地仓库中导入相应的各种依赖。3.约定优于配置的思想。Maven使用约定而不是配置,开发者不需要再关心每一个配置细节。当创...原创 2018-03-03 13:55:25 · 167 阅读 · 0 评论 -
深入理解java注解
http://blog.csdn.net/chenchaofuck1/article/details/52006961http://blog.sina.com.cn/s/blog_7540bf5f0100t3mv.html原创 2018-03-03 20:16:09 · 142 阅读 · 0 评论 -
Java位运算符优先级
一道笔试题:8|9&10^11当我按顺序计算完之后,发现选项里面没有我计算的结果。。。就估计这道题是考察位运算符优先级的,回来之后赶紧查查记住,知识点啊!Java运算符优先级(from 百度百科):运算符结合性[ ] . ( ) (方法调用)从左向右! ~ ++ -- +(一元运算) -(一元运算)从右向左* / %从左向右+ -从左向右<< >> >>...原创 2018-04-15 01:08:52 · 4244 阅读 · 0 评论 -
SSM配置解析
基本上是最简配置了,解析见注释。web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="原创 2018-04-06 18:23:02 · 192 阅读 · 0 评论 -
HashMap/ConcurrentHashMap详解
一、HashMap1.HashMap本质是一个数组,数组的每个元素都是一个单链表。java源码中,这个数组就是table,其定义如下:transient Node<K,V>[] table;//table数组,每个数组元素都是一个链表,链表由0个或多个节点组成节点类定义如下,注释中解释此类://静态内部类的特点:在创建静态内部类的实例时,不必创建外部类的实例static class ...原创 2018-05-28 00:50:22 · 4503 阅读 · 2 评论 -
Springboot整合Hibernate
一、最简pom:(springboot版本2.0.x)1.springboot的:spring-boot-starterspring-boot-starter-webspring-boot-starter-test(非必需)2.spring data jpa的:spring-boot-starter-jpa3.mysql的:mysql-connector-java其他的话还有<parent&...原创 2018-07-16 16:06:16 · 2469 阅读 · 0 评论 -
【问题记录】数据库事务手动回滚无效
问题是这样的,一个批量处理的接口,处理一组id,合法的save进数据库,循环完成后再做一个feign调用,成功则ok结束,调用出现异常——则用TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 手动回滚前面的事务。代码逻辑如下:List<Integer> validList = new ...原创 2018-11-09 19:38:37 · 1762 阅读 · 0 评论 -
【metrics-meters】使用meters监控接口tps
1. 依赖 &lt;dependency&gt; &lt;groupId&gt;io.dropwizard.metrics&lt;/groupId&gt; &lt;artifactId&gt;metrics-core&lt;/artifactId&gt;原创 2018-12-17 15:45:45 · 1239 阅读 · 0 评论 -
Java8 Stream介绍
=Java8 Stream介绍=1 简介Java8新增了java.util.stream.Stream类,它与java.io包里的InputStream和OutputStream中的流是完全不同的概念。Stream是对集合(Collection)对象功能的增强,它专注于对集合对象进行聚合操作或者大批量数据操作。Stream API借助于同时出现的Lambda表达式,极大地提高编程效率和程序可读...原创 2019-03-21 09:17:57 · 1448 阅读 · 0 评论 -
Java接口性能优化实例
Java接口性能优化实例文章目录Java接口性能优化实例概述用到的工具和环境工具环境找瓶颈概述最近公司的下单接口有些慢,老板担心无法支撑双11,想让我优化一把,但是前提是不允许大改,因为下单接口太复杂了,如果改动太大,怕有风险。另外开发成本和测试成本也非常大。对于这种有挑战性的任务,我向来是非常喜欢的,因为在解决问题的过程中,可以学习到很多东西。当时我只是知道下单接口慢,但是没人告诉我慢在...转载 2019-03-25 12:27:18 · 6826 阅读 · 1 评论 -
thread dump和heap dump
原文地址:https://bijian1013.iteye.com/blog/2221240thread dump和heap dump文章目录thread dump和heap dump一.dump基本概念二.利用JDK自带的工具获取thread dump文件和heap dump文件1.获取heap dump文件2.获取thread dump文件3.如果我们只需要将dump中存活的对象导出,那么...转载 2019-03-26 11:31:37 · 1270 阅读 · 0 评论 -
POJO和javabean的区别
(转载自https://www.cnblogs.com/weiyi1314/p/6672278.html)什么是POJO 按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的Java对象”,但大家都使用“简单java对象”来称呼它。POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 po...转载 2018-02-26 16:02:35 · 142 阅读 · 0 评论 -
【JAVA】Statement 和 PreparedStatement区别
1.建立Statement stm = connection.createStatement();PreparedStatement pstm = connection.prepareStatement(sql);2.执行stm.execute(sql);pstm.execute();3.stm可以执行多条sql;pstm只能执行一条sql4.使用pstm的环境执行同构sql,用pstm效率高;构原创 2018-01-18 17:38:21 · 162 阅读 · 0 评论 -
【Java集合框架】Map与Set的有序与无序
Set本身不保证顺序/* * HashSet是无序的; LinkedHashSet是按插入顺序的; TreeSet是按升序的; * * HashMap是无序的;LinkedHashMap是按插入顺序的;TreeMap是按升序的; * */public class CollectionsDemo { public static void main(String[] args) {原创 2017-07-28 10:07:48 · 2395 阅读 · 0 评论 -
二叉树按层遍历打印换行
我们都知道,广度优先遍历——对二叉树来说就是按层遍历,需要借助队列。代码也很简单,就几行。但是为什么要借助队列呢?粗鲁分析:二叉树的按层遍历是这样:从左到右,从上到下访问每个节点。而二叉树本身给出的信息是其下一行的左右节点的,所以在访问某一行节点时,就要保存其含有的信息——下一行节点。如果某行有n个节点,从1访问到n时,需要保存1的左右节点,2的左右节点,,,n的左右节点,原创 2017-08-24 10:18:07 · 2881 阅读 · 0 评论 -
Eclipse 的单步调试
Eclipse 的单步调试1、设置断点在程序里面放置一个断点,也就是双击需要放置断点的程序左边的栏目上。2、调试(1)点击"打开透视图"按钮,选择调试透视图,则打开调试透视图界面,然后先设置断点,按调试按钮则可以调试程序。(2)或者直接点击调试按钮,那个虫子样子的按钮,然后就会进入调试透视图的界面。前提你需要是要在程序中设置好断点。(3)或者右键单击该程序,选择debug转载 2017-09-06 09:36:49 · 168 阅读 · 0 评论 -
Java数组
1.Java的数组变量是引用类型的变量——数组变量存在栈中,数组对象存在堆中。2.Java数组的2种初始化方式 所谓初始化,即在堆中创建数组对象,也就是在内存中为数组对象分配一块连续的内存空间,并为每个数组元素指定初始值。 对于数组变量来说,它并不需要所谓的初始化,只要让数组变量指向一个有效的数组对象,程序即可正常使用该数组变量。1)静态初始化 由程序员指定每个元素的原创 2017-08-28 15:39:44 · 182 阅读 · 0 评论 -
Java队列
Java容器主要是一些接口及其实现。ArrayList和LinkedList类分别是List列表接口的数组实现和链表实现。Java中队列容器Queue是一个接口,LinkedList实现了此接口,Queue接口窄化了对LinkedList的方法的访问权限。使用时可以利用多态将LinkedList当做队列使用。import java.util.Queue;impor原创 2017-08-24 09:03:44 · 195 阅读 · 0 评论 -
在01矩阵中找最大1矩形
题目:给定一个01矩阵,求该矩阵内部的满足以下条件的最大的矩形的左上角所在的行和列,以及该矩形的长和宽。该矩形满足边上全为1,内部可0可1。(假定所有输入有且仅有一个矩形满足条件)package Test;import java.util.ArrayList;import java.util.Iterator;import java.util.List;class Po原创 2017-09-23 18:16:41 · 4205 阅读 · 0 评论 -
【JAVA】使用JAVA7增强的try语句关闭资源(疯狂Java程序员的基本修养8.1)
Java7新增了自动关闭资源的try语句:它允许在try关键字后紧跟一对圆括号,圆括号可以声明、初始化一个或多个资源,此处的资源指的是那些必须在程序结束时显式关闭的资源(比如数据库连接、网络连接等),try语句会在该语句结束时自动关闭这些资源。需要指出的是,,为了保证try语句可以正常关闭资源,这些资源实现类必须实现AutoCloseable或Closeable接口,实现这两个接口就必须实现c原创 2018-01-22 18:26:20 · 1354 阅读 · 0 评论 -
JAVA运行时数据区
JAVA运行时数据区分为5个区域:1)方法区:存放类的类型信息。类型信息包括静态变量和方法信息,方法信息中包含类的所有方法的字节码。2)堆:存储的全部是对象,每个对象都包含一个与之对应的Class类的对象。3)(虚拟机)栈:保存线程的运行状态。包括局部变量表,操作数栈和栈帧信息。 局部变量表存放方法参数和局部变量。 操作数栈是线程的工作区,用来存放运原创 2018-01-15 16:51:28 · 304 阅读 · 0 评论 -
【JAVA】Apache Commons Configuration2的使用
1.需要的jar包commoms-configurationcommons-collectionscommons-langcommons-loggingcommons-beanutils2.simple demoString name = null;String filePath = "config.xml";Parameters params = ne原创 2018-01-23 17:00:59 · 1865 阅读 · 0 评论 -
【JAVA】JDBC连接数据库
导入jdbc驱动:1.java项目:右键项目->Build Path->Configure Build Path...->Libraries->Modulepath->Add External JARs...选择jdbc驱动即可。2.java web项目复制jdbc驱动,粘贴到项目的WebContent->WEB-INIF->lib下,即可。(java web项原创 2018-01-17 11:29:44 · 190 阅读 · 0 评论 -
静态工厂方法example
1.三要素:一个接口,若干个实现类,一个包含了静态方法的工厂类。2.demo:Car接口package com.design.simpleFactory;public interface Car { String getName(); void drive();}实现类BMWCarpackage com.design.simpleFactory;publi原创 2018-01-23 18:22:11 · 211 阅读 · 0 评论 -
mybatis使用学习
简介MyBatis是一款持久层框架。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的java对象)映射成数据库中的记录。一、1.准备(1)创建普通java项目即可(2)添加依赖的jar包mybatis-3.4.5.jarmysql-connector-java-5.1.4原创 2018-01-24 16:06:06 · 396 阅读 · 0 评论 -
mybatis使用Resources读取配置文件
Resources(org.apache.ibatis.io.Resources) 一、Resources 类常用于以下几种情况: 1 从类路径加载 SQL Map 配置文件(如 sqlMap-config.xml)。 2 从类路径加载 DAO Manager 配置文件(如 dao.xml)。 3 从类路径加载各种.properties 文件。转载 2018-01-25 16:50:37 · 4931 阅读 · 0 评论 -
Java项目报错JRE System Library[Unbound]
昨天更新了jdk,今天打开eclipse,很多项目都报错了。打开项目的Properties-> Java Build Path->LibrariesModulepath或者Classpath上有红叉,展开选中JRE System Library[JavaSE-9]后点击右边的Edit,选择新安装的jre版本就行了。我从jre-9.0.1更新到jre-9.0.4 ,Java文件夹里变成了这样原创 2018-01-26 11:28:31 · 4525 阅读 · 0 评论 -
redis序列化器的选择
例如为redis选择序列化/反序列化器时,若待序列化对象没有无参构造器但实现了Serializable接口,要用JdkSerializationRedisSerializer。若待序列化对象没有实现Serializable接口,但有无参构造器,要用Jackson2JsonRedisSerializer。...原创 2019-04-17 10:41:57 · 1221 阅读 · 0 评论