<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pcamass的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pcamass</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pcamass]]></copyright><item><title><![CDATA[并发和同步]]></title><link>https://blog.youkuaiyun.com/pcamass/article/details/119188726</link><guid>https://blog.youkuaiyun.com/pcamass/article/details/119188726</guid><author>pcamass</author><pubDate>Wed, 28 Jul 2021 20:01:13 +0800</pubDate><description><![CDATA[并发与同步概念
并发
并发：在同一时刻，有多个线程同时访问 某一个（一些）资源，带来数据的不安全性 、不稳定性、不确定性。
生活中例子
下课时，多个同学同时抢占同一坑位。
同步
同步：用于解决并发问题，给予线程权限，允许具有权限的线程执行。
实现同步方法-锁
锁
性质：唯一（static）
使用原则：锁越少越好  ，避免死锁发生
实现方法：
1.synchronized
2.Lock  Condition
3.synchronized   方法名() {}  ：锁就是当前对象
生活中例子
坑位有锁，需锁开启]]></description><category></category></item><item><title><![CDATA[synchronized修饰范围及同步机制]]></title><link>https://blog.youkuaiyun.com/pcamass/article/details/118976939</link><guid>https://blog.youkuaiyun.com/pcamass/article/details/118976939</guid><author>pcamass</author><pubDate>Wed, 21 Jul 2021 21:27:34 +0800</pubDate><description><![CDATA[#synchronized修饰范围及同步机制
作用
解释多线程条件下同步工作的
没有同步
一个方法有多条执行语句，在多个线程调用该方法情况下，当线程A执行方法过程中，未执行完。线程B获取CUP执行权限，线程A停止执行，线程B开始执行。当线程A再次拿到CPU权限时，继续执行未完成的语句。不同步会造成线程单次执行不完全的情况。
同步
同步后，线程A执行完之后，线程B才能执行。
锁（权限 ）和synchronized关系
锁是java中实现同步的权限。
只有拿到锁的线程，才能执行synchronized修饰的方法]]></description><category></category></item><item><title><![CDATA[二维数组的查找]]></title><link>https://blog.youkuaiyun.com/pcamass/article/details/118887086</link><guid>https://blog.youkuaiyun.com/pcamass/article/details/118887086</guid><author>pcamass</author><pubDate>Mon, 19 Jul 2021 00:50:56 +0800</pubDate><description><![CDATA[二维数组中的查找
问题描述
在一个 n * m 的二维数组中，每一行都按照从左到右递增的顺序排序，每一列都按照从上到下递增的顺序排序。请完成一个高效的函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
[
  [1,   6,  7, 11, 15],
  [2,   5,  8, 12, 19],
  [3,   6,  9, 16, 22],
  [11, 13, 14, 17, 24],
  [12, 21, 23, 26, 30]
]

目标：8
思路
判断是否二维数组存在，
在二维]]></description><category></category></item><item><title><![CDATA[反射类]]></title><link>https://blog.youkuaiyun.com/pcamass/article/details/115937812</link><guid>https://blog.youkuaiyun.com/pcamass/article/details/115937812</guid><author>pcamass</author><pubDate>Wed, 21 Apr 2021 10:37:51 +0800</pubDate><description><![CDATA[反射类&amp;文档读写

获取类对象
1.Class.forname(String name);
​	name:变量
​	适用于配置文件读取
2.对象.getClass ();
​	适用于非抽象类对象
3.类.class
​	适用于知道类名
总结，开发一般不知道具体类名，第一种使用较多
获取成员变量 、方法、构造方法、类名
1.成员变量
类对象.getFields();============公共
类对象.getDeclaredFields();====（公共+私有+默认）
2.构造方法
类对象.getC]]></description><category></category></item><item><title><![CDATA[java基础]]></title><link>https://blog.youkuaiyun.com/pcamass/article/details/115387214</link><guid>https://blog.youkuaiyun.com/pcamass/article/details/115387214</guid><author>pcamass</author><pubDate>Thu, 01 Apr 2021 23:15:26 +0800</pubDate><description><![CDATA[1.单元测试
步骤


导库导包—》@Test


定义单元测试方法 :此方法定义要求：
从方法头部看：①权限修饰符为public
​                            ②必须是无参返回值
​                            ③必须是非static
从@Test与方法头部位置看：
​                            ④@Test必须紧贴方法签名
总结
作用：解放main方法，便于单元测试。
2.包装类型
每个基本类型对应的包装类型（8种）：
.]]></description><category></category></item></channel></rss>