<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LZAlgorithm的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LZAlgorithm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LZAlgorithm]]></copyright><item><title><![CDATA[curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 安装homebrew报错]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/107151012</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/107151012</guid><author>LZAlgorithm</author><pubDate>Mon, 06 Jul 2020 10:08:19 +0800</pubDate><description><![CDATA[在安装homebrew时报错如下：

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

要解决这一问题，只需将DNS改为8.8.8.8即可
]]></description><category></category></item><item><title><![CDATA[解决问题：lambda expressions are not supported at this language level]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/106000808</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/106000808</guid><author>LZAlgorithm</author><pubDate>Fri, 08 May 2020 16:51:08 +0800</pubDate><description><![CDATA[IDEA报错，lambda expressions are not supported at this language level，当前语言等级不支持lambda表达式

报错之后检查了我的设置，发现设定的是JDK 1.8，1.8是支持lambda表达式的

后来发现我没有把所有该设置为1.8的地方都设置成1.8，在Stack Overflow（https://stackoverflow.com...]]></description><category></category></item><item><title><![CDATA[通过Docker运行MongoDB]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/104749224</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/104749224</guid><author>LZAlgorithm</author><pubDate>Mon, 09 Mar 2020 11:49:45 +0800</pubDate><description><![CDATA[1、拉取镜像
docker pull mongo
2、运行
docker run --name mongo -p 27017:27017 -v mongodata:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin -d mongo
其中
–name后为容器名称
-p后将本地的27017与...]]></description><category></category></item><item><title><![CDATA[大数加法（Java实现）]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102731473</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102731473</guid><author>LZAlgorithm</author><pubDate>Thu, 24 Oct 2019 20:45:20 +0800</pubDate><description><![CDATA[输入为两个String类型的大数，求这两个数之和

代码如下（原理代码注释中有说明）：


public class BigNumAdd {

    public String add(String num1,String num2){
        //将两个数转化为数组
        char[] chars1 = num1.toCharArray();
        char[] c...]]></description><category></category></item><item><title><![CDATA[线程池ThreadPoolExecutor核心参数]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102717548</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102717548</guid><author>LZAlgorithm</author><pubDate>Thu, 24 Oct 2019 10:38:31 +0800</pubDate><description><![CDATA[我们先来看一下ThreadPoolExecutor构造器源码


/**
     * Creates a new {@code ThreadPoolExecutor} with the given initial
     * parameters.
     *
     * @param corePoolSize the number of threads to keep in the po...]]></description><category></category></item><item><title><![CDATA[判断二叉树是否为完全二叉树（Java实现）]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102664248</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102664248</guid><author>LZAlgorithm</author><pubDate>Mon, 21 Oct 2019 15:06:01 +0800</pubDate><description><![CDATA[public class TreeNode {
     int val;
     TreeNode left;
     TreeNode right;
     TreeNode(int x) { val = x; }
 }

class Solution {
    public boolean isCompleteTree(TreeNode root) {
        if(roo...]]></description><category></category></item><item><title><![CDATA[String类中对equals()方法的重写]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102628653</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/102628653</guid><author>LZAlgorithm</author><pubDate>Fri, 18 Oct 2019 17:07:26 +0800</pubDate><description><![CDATA[先上源码


public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String)...]]></description><category></category></item><item><title><![CDATA[Java向上取整与向下取整]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/101429676</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/101429676</guid><author>LZAlgorithm</author><pubDate>Thu, 26 Sep 2019 11:29:01 +0800</pubDate><description><![CDATA[向上取整


Math.ceil()

向下取整


Math.floor()

这个记起来比较好记，ceil是天花板的意思，floor是地板的意思，通过这个我们就能很容易的区别哪个是向上取整，哪个是向下取整

示例如下：


public class Test {
    public static void main(String[] args) {
        double a = 3....]]></description><category></category></item><item><title><![CDATA[使用位运算替换取余操作]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/101348934</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/101348934</guid><author>LZAlgorithm</author><pubDate>Wed, 25 Sep 2019 10:19:35 +0800</pubDate><description><![CDATA[位运算的速度远远高于取余操作

假设我们要计算X%Y

如果Y =,则X%Y可以变化为X&amp;(Y-1)


]]></description><category></category></item><item><title><![CDATA[ERROR 1193 (HY000): Unknown system variable 'tx_isolation'  高版本MySQL查询隔离级别]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/100925787</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/100925787</guid><author>LZAlgorithm</author><pubDate>Tue, 17 Sep 2019 14:37:06 +0800</pubDate><description><![CDATA[用


select @@global.tx_isolation;

查询MySQL隔离级别时报下面的错误



解决方法：

高版本的MySQL，用transaction_isolation代替了tx_isolation，所以改为下面这样就可以了


SELECT @@transaction_isolation;


...]]></description><category></category></item><item><title><![CDATA[类加载器]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/99641888</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/99641888</guid><author>LZAlgorithm</author><pubDate>Thu, 15 Aug 2019 16:40:52 +0800</pubDate><description><![CDATA[“加载”是“类加载”过程中的一个阶段，加载过程完成以下三件事情：

通过一个类的全限定名来获取定义此类的二进制字节流。
	将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。
	在内存中生成一个代表这个类的java.lang.Class对象，作为方法区这个类的各种数据的访问入口。
其中，“通过一个类的全限定名来获取定义此类的二进制字节流”这个动作是在虚拟机外部实现的，以便让程序自己决定如...]]></description><category></category></item><item><title><![CDATA[JAVA 方法内部类为何只能访问外部final类型变量]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/99588987</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/99588987</guid><author>LZAlgorithm</author><pubDate>Wed, 14 Aug 2019 17:29:25 +0800</pubDate><description><![CDATA[本文转自https://blog.youkuaiyun.com/Thousa_Ho/article/details/73104015

所谓“局部内部类”就是在对象的方法成员内部定义的类。而方法中的类，访问同一个方法中的局部变量，却必须要加上一个final。

原因是编译程序实现上的困难：

内部类对象的生命周期会超过局部变量的生命期。

局部变量的生命期：当该方法被调用时，该方法中的局部变量在栈中被创建，...]]></description><category></category></item><item><title><![CDATA[POI:getLastRowNum()与getLastCellNum()]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96861545</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96861545</guid><author>LZAlgorithm</author><pubDate>Mon, 22 Jul 2019 15:15:49 +0800</pubDate><description><![CDATA[getLastRowNum()返回的是EXCEL表格中最后一行的行标（行数-1）
	getLastCellNum()返回的是列数，可以类比数组的length
千万注意二者返回值的区别，很容易记错混淆
...]]></description><category></category></item><item><title><![CDATA[Sping Data Jpa配置问题 spring.jpa.properties.hibernate.hbm2ddl.auto=update]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96299951</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96299951</guid><author>LZAlgorithm</author><pubDate>Wed, 17 Jul 2019 14:06:24 +0800</pubDate><description><![CDATA[在配置spring data jpa时，如果spring.jpa.properties.hibernate.hbm2ddl.auto设置为update,会自动更新数据表结构，比如Entity中增加成员变量，数据表中也会增加相应的字段，但是需要注意的是，如果删除一个成员变量，这时数据表中不会自动删除对应的字段,如果删除的那个成员变量在数据表中被设置为not null，当再次运行时就会报错，如下面的例...]]></description><category></category></item><item><title><![CDATA[MySQL查询数据表有哪些字段]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96293491</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96293491</guid><author>LZAlgorithm</author><pubDate>Wed, 17 Jul 2019 12:19:48 +0800</pubDate><description><![CDATA[有两种方法

show create table table_name;
	show columns form table_name;
如下图所示，这样就能知道数据表中包含哪些字段






]]></description><category></category></item><item><title><![CDATA[查看端口被哪个进程占用及杀死占用端口的进程]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96292718</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96292718</guid><author>LZAlgorithm</author><pubDate>Wed, 17 Jul 2019 12:14:13 +0800</pubDate><description><![CDATA[查看端口被哪个进程占用

lsof -i:端口号
查询之后会得到对应进程及进程号

杀死占用端口的进程

kill -9 进程号

]]></description><category></category></item><item><title><![CDATA[Spring Data Jpa 查询部分字段]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96285340</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/96285340</guid><author>LZAlgorithm</author><pubDate>Wed, 17 Jul 2019 11:04:58 +0800</pubDate><description><![CDATA[使用Spring Data Jpa时，无法直接查询数据表中的部分字段，只能直接查询所有字段，如果有查询部分字段的需求，需在数据表所对应的实体类里增加一个有参构造器，有参构造器的参数为要查询的字段，且顺序需与查询顺序一致。

实体类如下：




@Entity
public class Car{
    @Id
    @Column(name="id", nullable = false)
 ...]]></description><category></category></item><item><title><![CDATA[轻量级锁]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/89602432</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/89602432</guid><author>LZAlgorithm</author><pubDate>Sat, 27 Apr 2019 16:05:32 +0800</pubDate><description><![CDATA[轻量级锁不是为了代替重量级锁，它的本意是在没有多线程竞争的前提下，减少传统的重量级锁使用操作系统互斥量产生的性能消耗。

加锁

首先，JVM在当前线程栈帧中创建用于存储锁记录的空间；
	将对象头中的Mark Word复制到锁记录中，称为Displaced Mark Word；
	线程尝试使用CAS将对象头中的Mark Word替换为指向锁记录的指针，成功则代表获得锁，失败表示其他线程竞争锁，当前...]]></description><category></category></item><item><title><![CDATA[偏向锁]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/89601800</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/89601800</guid><author>LZAlgorithm</author><pubDate>Sat, 27 Apr 2019 15:26:03 +0800</pubDate><description><![CDATA[在大多数情况下，锁不存在多线程竞争，而且往往是由一个线程多次获得，为了使线程获得锁的代价更低，引入了偏向锁。

工作原理

偏向锁，顾名思义，它会偏向最先获得它的线程，当一个线程访问同步代码块获得锁时，会在对象头和栈帧记录里存储锁偏向的线程ID，当这个线程再次进入同步代码块时，就不需要CAS操作来加锁了，只要测试一下对象头里是否存储着指向当前线程的偏向锁。如果测试成功，则表明该线程已经获得了锁，如...]]></description><category></category></item><item><title><![CDATA[Java中Synchronized的用法]]></title><link>https://blog.youkuaiyun.com/LZAlgorithm/article/details/89461928</link><guid>https://blog.youkuaiyun.com/LZAlgorithm/article/details/89461928</guid><author>LZAlgorithm</author><pubDate>Tue, 23 Apr 2019 14:36:12 +0800</pubDate><description><![CDATA[本文转自

原文：http://blog.youkuaiyun.com/luoweifu/article/details/46613015
作者:luoweifu

《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现，这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized.

synchr...]]></description><category></category></item></channel></rss>