<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[timon777的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/timon777</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; timon777]]></copyright><item><title><![CDATA[产品与项目在信息化系统软件研发过程中的联系与区别？]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/129353500</link><guid>https://blog.youkuaiyun.com/timon777/article/details/129353500</guid><author>timon777</author><pubDate>Mon, 06 Mar 2023 00:29:42 +0800</pubDate><description><![CDATA[项目开发与软件开发的区别和联系]]></description><category></category></item><item><title><![CDATA[供应链产品经理需要具备的基本能力有哪些？]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/129353315</link><guid>https://blog.youkuaiyun.com/timon777/article/details/129353315</guid><author>timon777</author><pubDate>Sun, 05 Mar 2023 23:57:58 +0800</pubDate><description><![CDATA[供应链产品经理能力具备]]></description><category></category></item><item><title><![CDATA[安全库存——库存策略之一]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/124394309</link><guid>https://blog.youkuaiyun.com/timon777/article/details/124394309</guid><author>timon777</author><pubDate>Sun, 24 Apr 2022 23:12:30 +0800</pubDate><description><![CDATA[安全库存计算]]></description><category></category></item><item><title><![CDATA[命令行操作数据库的备份和删除]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/104230099</link><guid>https://blog.youkuaiyun.com/timon777/article/details/104230099</guid><author>timon777</author><pubDate>Sat, 08 Feb 2020 23:43:11 +0800</pubDate><description><![CDATA[1、备份数据库：

备份语法：mysqldump -u用户名 -p密码 数据库名称 &gt; 保存的路径

例如：mysqldump -u**** -p**** school &gt; e://school.sql (不能加标点分号，还未进入mysql)

2、删除已备份的数据库：drop database school;

show databases;(查看是否被删除)；

3、还原数据库：...]]></description><category></category></item><item><title><![CDATA[Lambda表达式的方法引用]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103941253</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103941253</guid><author>timon777</author><pubDate>Sat, 11 Jan 2020 22:17:06 +0800</pubDate><description><![CDATA[方法引用符 :: 该符号为引用运算符，而它所在的表达式被称为方法引用

总结为四中类型：他们的格式分别为：

1、引用类的静态方法，格式   类名::静态方法

2、引用对象的实例方法，格式  对象::成员方法

3、引用类的实例方法，格式  类名::成员方法

4、引用构造器，格式类名::new

具体示例如下：

1、引用类的静态方法，格式   类名...]]></description><category></category></item><item><title><![CDATA[接口组成，及接口中各种方法使用原则]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103940226</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103940226</guid><author>timon777</author><pubDate>Sat, 11 Jan 2020 20:39:12 +0800</pubDate><description><![CDATA[一、接口组成：

常量 public static ﬁnal 

抽象方法 public abstract 

默认方法(Java 8) public default

静态方法(Java 8) public static

私有方法(Java 9) private

私有的静态方法：private static

二、

1、抽象方法，无方法体，不存在调用。

2、私有方法，只能在接口内被其他...]]></description><category></category></item><item><title><![CDATA[Lambda表达式与匿名内部类的区别]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103935384</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103935384</guid><author>timon777</author><pubDate>Sat, 11 Jan 2020 12:42:20 +0800</pubDate><description><![CDATA[匿名内部类与Lambda表达式的区别：

1、所需类型不同。匿名内部类：可以是接口、抽象类、具体类。Lambda表达式：只能是接口

2、使用限制不同。如果接口中有且仅有一个抽象方法，可以使用Lambda表达式，也可以使用匿名内部类。如果接口中多于一个抽象方法，只能使用匿名内部类，而不能使用Lambda表达式

3、实现原理不同。匿名内部类虽然跟使用Lambda效果一样，但是会自动多生成一个....]]></description><category></category></item><item><title><![CDATA[Lambda表达式使用及注意事项]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103931965</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103931965</guid><author>timon777</author><pubDate>Fri, 10 Jan 2020 23:37:49 +0800</pubDate><description><![CDATA[Lambda表达式的使用前提 ：

1、必须有接口，且接口中有且仅有一个抽象方法 。

2、必须有上下文环境，才能推倒出Lambda对应的接口，比如在主方法main中写（）-&gt; System.out.print("OK")，没人知道什么意思，也没有意义，但是如果写成Runnable r =（）-&gt; System.out.print("OK")，就知道他是实现Runnable接口的，接...]]></description><category></category></item><item><title><![CDATA[data.toString()与new String(data)的区别]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103905110</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103905110</guid><author>timon777</author><pubDate>Thu, 09 Jan 2020 11:51:20 +0800</pubDate><description><![CDATA[对比下列代码，在看示例。

String dataString1 = new String(datas.toString());//[B@1ddc4ec2
String dataString2 = new String(datas, 0, len);//发送到接收端的数据...

System.out.println(dataString1);//[B@1ddc4ec2
System.out.pr...]]></description><category></category></item><item><title><![CDATA[用new ReenTrantLock().lock()锁方法解决线程安全问题案例---售票]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103866374</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103866374</guid><author>timon777</author><pubDate>Mon, 06 Jan 2020 23:03:23 +0800</pubDate><description><![CDATA[1、创建线程实现Runnable接口

注意：Lock是抽象类，不能直接创建，可以用其子类ReentrantLock创建


public class SellTicketLockSafety implements Runnable {
    private int tickets = 100;
    private Lock lock = new ReentrantLock();

    ...]]></description><category></category></item><item><title><![CDATA[线程安全的类]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103865982</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103865982</guid><author>timon777</author><pubDate>Mon, 06 Jan 2020 22:23:46 +0800</pubDate><description><![CDATA[线程安全的类：

StringBuﬀer 线程安全，可变的字符序列 从版本JDK 5开始，被StringBuilder 替代。 通常应该使用StringBuilder类，因为它支持所有相同的操 作，它更快，因为它不执行同步 。

Vector 从Java 2平台v1.2开始，该类改进了List接口，使其成为Java Collections Framework的成员。 与新的集 合实现不同， Vec...]]></description><category></category></item><item><title><![CDATA[多线程的实现方式]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103864475</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103864475</guid><author>timon777</author><pubDate>Mon, 06 Jan 2020 20:50:22 +0800</pubDate><description><![CDATA[方法1、继承Thread 类


public class Mythread extends Thread {
    public Mythread() {
    }

    public Mythread(String name) {
        super(name);
    }
    @Override
    public void run(){
        for (i...]]></description><category></category></item><item><title><![CDATA[对象序列化,java中序列化与反序列化]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103848677</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103848677</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 22:47:42 +0800</pubDate><description><![CDATA[对象序列化：就是将对象保存到磁盘中，或者在网络中传输对象 

这种机制就是使用一个字节序列表示一个对象，该字节序列包含：对象的类型、对象的数据和对象中存 储的属性等信息 

字节序列写到文件之后，相当于文件中持久保存了一个对象的信息 

反之，该字节序列还可以从文件中读取回来，重构对象，对它进行反序列化

构造方法：ObjectOutputStream(OutputStream out):创建一...]]></description><category></category></item><item><title><![CDATA[打印流：字节打印流PrintStream、字符打印流PrintWriter]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103848109</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103848109</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 21:52:47 +0800</pubDate><description><![CDATA[字节打印流见:https://blog.youkuaiyun.com/timon777/article/details/103847896

字符打印流：

PrintWriter pw = newPrintWrite(new FileWriter(fileName)，true）；如果参数true -&gt;false; 则不能实现自动刷新。

pw.println("...");

上面一行相当于下面三个步...]]></description><category></category></item><item><title><![CDATA[PrintStream ps = new PrintStream(fileName);ps.write()与ps.print()/ps.println()的区别]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103847896</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103847896</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 21:34:34 +0800</pubDate><description><![CDATA[PrintStream ps = new PrintStream(fileName);

ps.write()当参数为byte\byte[]类型时，会转换成：对应的字符

而 ps.print()/ps.println()参数原样输出

例如：

ps.write(97)//输出a

ps.print(97)//输出97
...]]></description><category></category></item><item><title><![CDATA[JDK7之后的异常处理方法 与 JDK7之前的标准异常处理，通过复制单级文件夹示例区别。复制文件 的两种异常处理方式，不建议使用JDK9之后增减的异常处理方式]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103845631</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103845631</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 18:19:27 +0800</pubDate><description><![CDATA[通过复制单级文件夹示例加以区别：复制文件夹下的文件，比较两种异常处理方式的区别，

不建议使用JDK9之后的异常处理方式，因为最后还是要跑出异常，至少目前使用并没有简化。这里不做演示了。

见代码copyFile1()与方法copyFile2()的区别


public class CopyFolderDemo1 {
    public static void main(String[] ar...]]></description><category></category></item><item><title><![CDATA[Java中实现复制文件文件夹：可以复制单级文件夹，也复制多级文件夹，用递归。读写数据流用BufferedInputStream/BufferedOutputStream。]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103844120</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103844120</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 16:00:53 +0800</pubDate><description><![CDATA[可以复制单级文件夹，也复制多级文件夹，用递归

代码示例：


package com.ahclg.copyFolder;

import java.io.*;

public class CopyFolderDemo2 {
    public static void main(String[] args) {
        File srcFile = new File("E:\\javaS...]]></description><category></category></item><item><title><![CDATA[getPath()与getAbsolutePath()的区别；相对路径与绝对路径的区别]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103843672</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103843672</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 15:28:50 +0800</pubDate><description><![CDATA[视代码见结果：


public class PathDemo {
    public static void main(String[] args) {
        File file = new File("javaSave\\aFile");
        //获取相对路径
        String path = file.getPath();
        String pa...]]></description><category></category></item><item><title><![CDATA[把集合内容由到到底的顺序添加到指定文件，用TreeSet 集合比较器，和BufferedWriter数据输出流操作]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103841895</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103841895</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 12:37:44 +0800</pubDate><description><![CDATA[//按分数由高到底，集合到文件
public class ArrayListToFile {
    public static void main(String[] args) {
        //创建TreeSet集合，通过比较器排序
        TreeSet&lt;Student&gt; ts = new TreeSet&lt;&gt;(new Comparator&lt;Stu...]]></description><category></category></item><item><title><![CDATA[用字符流BufferedReader 操作 集合到文件、文件到集合]]></title><link>https://blog.youkuaiyun.com/timon777/article/details/103841231</link><guid>https://blog.youkuaiyun.com/timon777/article/details/103841231</guid><author>timon777</author><pubDate>Sun, 05 Jan 2020 11:43:22 +0800</pubDate><description><![CDATA[1、集合到文件


public class ArrayListToFile {
    public static void main(String[] args) {
        ArrayList&lt;Student&gt; arr = new ArrayList&lt;&gt;();
        Student s1 = new Student("001","Tom", 30, ...]]></description><category></category></item></channel></rss>