![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 51
Java
MENG-
这个作者很懒,什么都没留下…
展开
-
JAVA_算法_动态规划_最大正方形
题目描述在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。示例1:输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]输出:4示例2:输入:matrix = [[“0”,“1”],[“1”,“0”]]输出:1解题思路使用动态规划的思想,即原问题的最优解可以由子问题的最优解推导得到。在本原创 2021-10-14 10:00:03 · 319 阅读 · 0 评论 -
JAVA_算法002_整数转罗马数字
题目:整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左原创 2021-10-13 13:12:31 · 235 阅读 · 0 评论 -
JAVA_算法001_两数之和
题目:两数之和来源:力扣(LeetCode)001题给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。举例:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。解题思路:思路1:for循环遍历数组,将当前原创 2021-10-13 11:29:57 · 224 阅读 · 0 评论 -
javaweb+servlet+mysql登录+注册+增删改查源码
一.项目功能简介 功能流程图二.项目详解1.创建javaweb项目2.创建目录src/com.neusoft.dao存放实体类和数据库操作的java文件src/com.neusoft.servlet存放servlet的文件,用来接收前台发来的请求和数据,传到数据库,再返回给前台webContent...原创 2019-04-08 21:39:09 · 16992 阅读 · 32 评论 -
Java——ArrayList的add()原理解析和remove()遇到的坑
虽然ArrayList是可变数组,但是为了提高性能我们在使用中应尽量提前估算容量,add()的时间复杂度为O(1),但是扩容会拉低性能,所以定义时应估算容量,减少扩容次数;remove()方法,每次删除要移动后边数组,所以时间复杂度为O(n),为提高性能,尽可能删除最后的数据。一.Add()源码解析数组扩容这是对ArrayList效率影响比较大的一个因素,虽然ArrayLis...原创 2019-04-12 21:31:05 · 1534 阅读 · 0 评论 -
JAVA数值运算时地址的变换
java运算时是多地址的, 运算后的值取最后一个地址的值。意思就是说,在运算一个表达式时,该变量每出现一次就会生成一个新的地址。单地址运算和多地址运算有什么不同呢?比如看下边的运算:m= 10m += m ++;如果是单地址运算:首先执行++操作,m++,此时m=11;表达式为m+=10;然后运算m+=10;此时m=11+10=21;运算结果为21;...原创 2019-06-12 18:53:38 · 592 阅读 · 0 评论 -
th:onclick动态传参:org.thymeleaf.exceptions.TemplateProcessingException: Only variable expressions retur
今天遇到了一个th:onclick调用JS方法传参的问题,整理一下分享给大家。我的代码是这样写的<span th:onclick="'javascript:fun(\''+${newsInformation.herf}+'\')'">查看详情</span >然后就会报错,之前经常用th:onclick传id,都可以正常运行,所以这个错误也百思不解。看一...原创 2019-06-14 20:11:56 · 885 阅读 · 0 评论 -
JAVA笔试——输入输出集锦
一、基本语句1.输入Scanner reader = new Scanner(System.in) ;读一个整数 int n = sc.nextInt(); 读一个字符串 String s = sc.next(); 读一个浮点数 double t = sc.nextDouble(); 读一整行 String s = sc.nextLine();...原创 2019-06-17 20:09:53 · 4415 阅读 · 0 评论 -
String StringBuffer StringBuilder区别和使用
1. String 首先在Java里,string类是不可变的,该类没有提供修改字符串的方法,在对字符串进行拼接剪裁更改操作时,会不断申请新的地址来存储操作后的字符串,而原字符串被JVM的垃圾回收机制(GC)给回收掉了。在这里需要注意的是,不是String类型的变量不可变,是string数据内容是不可修改的。当内容修改时,只是String变量指向的字符串地址改变了。 ...原创 2019-06-17 21:29:17 · 137 阅读 · 0 评论 -
java虚拟机对象内存分布详解
在HotSpot虚拟机里,对象的存储布局分为以下三部分。 对象头(Header)中存储的信息类似于计算机网络中的IP数据报的首部,是对对象的一些附加说明标志的信息,与对象的自身定义的数据无关,下边会详细说明。 实例数据(Instance Data)中存储的就是对象真实有效的信息。 对齐填充(Padding)部分没有特别的含义,单纯为了满足虚拟机规定的“对象起始地址必须为8...原创 2019-07-16 20:47:36 · 178 阅读 · 0 评论 -
SpringMVC+mybatis+maven+登录注册+增删改查
一.SpringMVCMVC框架是由Model模型(JavaBean),View视图(Jsp) 和 Controller控制器(Servlet)构成。其中每一部分的作用为:Model:承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门承载业务数据的,如Student、User等。而业务处理Bea...原创 2019-04-10 13:39:33 · 2174 阅读 · 1 评论 -
平衡树以及JAVA实现
一.平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法)。 它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉...原创 2019-03-05 19:52:14 · 1358 阅读 · 2 评论 -
二叉树的删除原理以及java实现
相对于增查改,二叉树的删除是较为复杂的,必须保证删除后所有节点大于其左节点,小于其右节点。删除节点分为几种情况:1.删除的节点为叶子节点:直接删除。2.删除的节点只存在左子树或右子树:删除节点的父节点直接指向子树节点。3.删除的节点同时存在左子树和右子树:将删除节点的左子树的最右节点或右子树的最左节点替换删除节点,同时删除替换节点,再将删除节点指向子树节点。示例分析:...原创 2019-03-05 11:28:20 · 4616 阅读 · 2 评论 -
字符串的比较——equls和==的区别
“==”比较的是字符串的内容,equals比较的是字符串的内容和地址。例1:浅拷贝public class Test {public static void main(String[] args){String g=“Hello”;String a=g;System.out.println(g==a);System.out.println(g.equals(a));}}g指向...原创 2019-02-14 23:26:30 · 3774 阅读 · 0 评论 -
Java面试题—不可变字符串—字符串在切割拼接过程中产生内存地址的数量?
问:String greeting="Hello",现如果希望将greeting的内容修改为“Help!”,故greeting=greeting.substring(0,3)+"p!";,在此过程中共产生了多少内存地址?答:此过程中共产生了4个内存地址。解释:java规定不能修改字符串中的字符,所以Java里将String类对象称为不可变字符串,例“Hello”永远包含字符H、...原创 2020-07-17 16:15:02 · 236 阅读 · 0 评论 -
final常量为何常用于内部类?
1.final与static final:在Java中,final指示常量。用final标记的变量只能被赋值一次,一旦被赋值就不能更改了。习惯上常量名用大写。final通常和static搭配使用,static final为类常量,类常量的定义位于main方法的外部,可以在一个类的多个方法中使用。public class Test { public static final dou...原创 2019-02-16 15:58:02 · 471 阅读 · 0 评论 -
java String类常用方法总结
注意:字符串中第一个字符索引是0,最后一个是length()-1。1.返回给定位置的代码单元,求字符串某一位置字符。public char charAt(int index)String str = new String("Hello world!");char ch = str.charAt(4);//ch='o'2.返回字符串长度。public int length()...原创 2019-02-17 18:32:23 · 304 阅读 · 1 评论 -
Java类之间的关系
一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。 二、接口实现关系 实现指的是一个class类实现interface接口(...原创 2019-02-18 22:00:40 · 166 阅读 · 0 评论 -
Java 的静态工厂方法以及相比于构造器的优势
本文转载自:https://www.jianshu.com/p/ceb5ec8f1174 序:什么是静态工厂方法 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名字 2.2 第二个优势,不用每次被调用时都创建新对象 2.3 第三个优势,可以返回原返回类型的子类 2.4 第四个优势,在创建带泛型的实例时,能使代码变得简洁 1. 序:什么是静态工厂方法在 J...转载 2019-02-18 22:15:02 · 449 阅读 · 2 评论 -
命令行编译java文件
1.用记事本或者Notepad++编写一个完整的java文件,保存为.java文件。import java.util.*;public class shuchu{ public static void main(String[] args) { Scanner in=new Scanner(System.in); System.out.print("what is your nam...原创 2019-02-13 20:05:38 · 18986 阅读 · 3 评论 -
数据类型
很多大厂面试题并不是很难的框架之类的,反而是并不令人注意的基础知识。数据类型就是很容易考的一部分。Java 的两大数据类型:内置数据类型引用数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1...原创 2019-02-13 20:49:46 · 126 阅读 · 0 评论 -
引用类型基本类型的传参问题
发现传参问题很有趣,所以总结一下。package Example;public class Te { public String name; public int age;}package Example;public class A { public static void main(String[] args) { Te a = new Te(); Te...原创 2019-02-19 21:39:43 · 649 阅读 · 2 评论 -
JAVA用String字符串存储数据实现队列和栈
在定义队列和栈时,网上大多数都是用数组存储的,但是其实一种数据结构的实现是多样的,下面介绍一种用字符串实现栈和队列的方法。一、队列队列类的定义:以字符串存储数据,这里以“##”作为起始标志,数据之间以“,”隔开。入队时(inQueue)就是用“+”将数据拼接进字符串。出队时(outQueue)用StringAPI中的split(string s)函数,将字符串以“,”分割...原创 2019-02-25 16:52:49 · 2080 阅读 · 0 评论 -
float和double的取值范围和精度丢失
float和double的范围是由指数的位数来决定的。在此先补充一个知识点,浮点数的二进制转换。以单精度为例:原创 2019-02-14 21:53:13 · 701 阅读 · 0 评论