of

【LeetCode OJ】Maximum Depth of Binary Tree

杀马特。学长 韩版系。学妹 提交于 2021-02-12 05:49:44
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { private int max = 0; public void preOrder(TreeNode root, int depth){ if(root == null)return; preOrder(root.left, depth + 1); if(max < depth) max = depth; preOrder(root.right, depth + 1); } public int maxDepth(TreeNode root) { preOrder(root, 1); return max; } } 来源: oschina

Illegal mix of collations for operation like

北城以北 提交于 2019-12-19 17:54:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Illegal mix of collations for operation like 在 MySQL 5.5 以上, 若字段 Type 是 time,date,datetime 在 select 時若使用 like '%中文%' 会出現 Illegal mix of collations for operation 'like' 在写程序时要对每个字段进行搜索,在执行时可能就会出现时间字段 like '%中文%' 这种语法, 这在比较久的版本MySQL是不会出现错误的。但是升级到MySQL 5.5以上, 必需改成like binary '%中文%' 即可避免出现错误 来源: oschina 链接: https://my.oschina.net/u/1450300/blog/671295

MySQL客户端连接时 MySql Host is blocked because of many.

房东的猫 提交于 2019-12-06 06:33:16
错误: Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因:   同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞; 当连接错误次数过多时,mysql会禁止客户机连接 ,解决办法: 使用mysqladmin flush-hosts命令清除缓存,命令执行方法如下: 命令行或终端: mysqladmin -u root -p flush-hosts 或者 在mysql命令行下 执行: mysql> flush hosts; 来源: oschina 链接: https://my.oschina.net/u/1160259/blog/630412

Tomcat插件Sysdeo Tomcat plugin启动报错

情到浓时终转凉″ 提交于 2019-12-05 08:38:52
今天测试出的一个小问题。 使用Sysdeo Tomcat plugin启动tomcat时报错。两条异常如下,堆栈就不打出来了啊。 org.eclipse.core.runtime.CoreException: Unable to parse XML document. org.eclipse.core.runtime.CoreException[120]: org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence. 于是,谷哥、度娘一番。得到的解释皆为tomcat\conf\Catalina\localhost\下的配置文件,或者server.xml中有中文引起tomcat插件解析出错。 检查相关文件,没有任何问题。甚至去掉所有配置文件、新download一份tomcat都未解决此问题。 突然,发现工程中有一 新导入的工程,名称为中文 ,顿生疑窦。 将该工程删除之后,tomcat顺利启动。 遂本着加深了解的目的,从度娘一片文章( http://hi.baidu.com/dolphin_cheng/blog/item/127c64500ae85c838c5430a8.html )了解到。 tomcat插件启动时,会遍历eclipse中所有的工程的classpath。如果有中文,会导致该插件无法解析

java8函数表达式的定义[Definition of a Lambda Expression]

馋奶兔 提交于 2019-12-05 08:18:14
英文来源于:Java in a Nutshell, 6th Edition            Definition of a Lambda Expression A lambda expression is essentially a function that does not have a name, and can be treated as a value in the language. As Java does not allow code to run around on its own outside of classes, in Java, this means that a lambda is an anonymous method that is defined on some class (that is possibly unknown to the developer).                         ---Java in a Nutshell, 6th Edition 其实正则表达式就是没有名字的函数,(参数,返回值,函数体),在java 语言中视为一个值. 因为java的函数必须在类中定义,这就意味着,java语言中的函数表达式即为在某类中定义的匿名方法. 函数表达式在java视为一个值,即:Runnable r = () ->

eclipse中JVM的内存问题,解决堆空间不足的问题

删除回忆录丶 提交于 2019-12-02 08:33:42
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动? 3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置? 下面我们一一进行回答 1. 各个参数的含义什么? 参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。 堆内存分配 JVM初始分配的内存由-Xms指定