- 博客(33)
- 收藏
- 关注
原创 npm err! code e451
Error: 451 Unavailable For Legal Reasons - GET https://registry.npmmirror.com/- - [UNAVAILABLE_FOR_LEGAL_REASONS] - was blocked, reason: ucc (operator: cnpmcore_admin/61f154594ce7cf8f5827edf8)
2024-07-18 10:56:02
506
原创 node-sass@4.14.1 安装失败
node-sass@4.14.1 postinstall: `node scripts/build.js`
2024-07-17 09:12:14
569
原创 SqlServer反向生成PowerDesigner物理数据模型
要以管理员的身份运行!!!!我的已经汉化了一部分。选择反向工程里的“Database”名字随意点击确定,–>使用数据源,可以不选管理员点击使用数据源,右边那个,小白色垃圾桶选择第一个,然后要点击Configura。根据箭头指示点击选择系统数据源选择你要选择的,选择的是sql server点击完成名字随意,记得选择想要连接的服务器ip输入用户名和密码...
2021-08-24 09:22:29
396
原创 类的加载的自我总结
类的加载过程当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过如下三个步骤来堆该类进行初始化。类的加载类的加载与ClassLoader的理解加载:将class文件字节码内容加载到内存中,并将这些静态数据换成方法区的运行数据结构,然后生成一个代表这个类的java.lang.Class对象。链接:将Java类的二进制代码合并到JVM的运行状态之中的过程。验证:确保加载的类信息符合JVM规范,没有安全方面的问题。准备:正式为类变量(static)分配内存并设置类变量默认初始.
2021-08-09 01:39:56
172
原创 反射的自我总结
首先讲一下,什么是静态语言和动态语言?动态语言:是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时,代码可以根据某些条件改变自身结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python等。静态语言:与动态语言相对应的,运行时结构不可变的语言就是静态语言。如:Java、C、C++Java不是动态语言,但Java可以被称之为“准动态语言”。即Java有一定的动态性,我们可以利用
2021-08-09 01:39:31
182
原创 Sql优化(非原创)
一、为什么要对SQL进行优化我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此时对SQL的优化就很有必要。二、SQL优化的一些方法对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 nu
2021-08-08 23:00:19
95
原创 找不到DNS地址怎么办?
。。。视频看的好好的,也是头一回遇到这种问题。怎么办呢?需要我们打开“网络和Internet配置”点击更改适配器选项找到网络连接,右键选择属性点击版本4,选择属性,配置一下就好了我们可以cmd,进行刷新。输入ipconfig/flushdns也可以尝试一下。我是白痴,记录下慌乱的自己。。。突然微信其他的都好使,就是百度不了,真的很慌,见笑了...
2021-08-07 22:01:57
44754
9
原创 线程总结八:线程相关概念(未完待续)
顺序:代码从上而下按照固定的顺序执行,只有上一件事情执行完毕,才能执行下一件事。就像物理电路中的串行,假如有十件事情,一个人来完成,这个人必须先做第一件事情,然后再做第二件事情,最后做第十件事情,按照顺序做。并行:多个操作同时处理,他们之间是并行的。假如十件事情,两个人来完成,每个人在某个时间点各自做各自的事情,互不影响并发:将一个操作分割成多个部分执行并且允许无序处理,假如有十件事情,如果有一个人在做,这个人可能做一会这个不想做了,再去做别的,做着做着可能也不想做了,又去干其它事情了,看他心情想干哪.
2020-12-24 00:09:56
67
1
原创 线程总结七:线程池
概念:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。应用范围:需要大量的
2020-12-23 23:54:48
109
原创 线程总结六:线程之间的通信
方法:wait():表示线程一直等待,直到其他线程通知,与sleep不同,会释放锁。wait(long timeout):指定等待的毫秒数notify():唤醒一个处于等待状态的线程notifyAll():唤醒同一个对象上所有调用wait()方法的线程,优先级别高的线程优先调度。注意:均是object类的方法,都只能在同步方法或者同步代码中只用,否则会抛出异常IIIegalMonitorStateException应用场景:生产者和消费者问题假设仓库只能存放一件商品,生产者将生产出来
2020-12-23 22:58:56
80
原创 线程总结五:死锁和lock锁
先简单的讲下死锁:死锁:多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。如果某一个同步块同时拥有两个以上对象的锁时,就有可能发生死锁的问题。产生死锁的四个必要条件:互斥条件: 一个资源每次只能被一个进程使用请求与保持条件: 一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件: 进程已获得的资源,在未使用之前,不能强行剥夺循环等待条件: 若干进程之间形成一种头尾相接的循环等待资源关系。死锁的处
2020-12-13 22:18:02
189
1
原创 Base64转图片/图片转Base64工具类
不用BASE64Decoder的方法,找了半天的方法,大部分都用BASE64Decoder。可是BASE64Decoder需要另外导包,很麻烦,也不推荐使用。图片转Base64//图片转Base64public static String getImageStr(String imageUrl) throws Exception { InputStream inputStream = null; byte[] data = null; log.info(
2020-12-10 11:02:41
516
原创 遇到的一些,较陌生的关键字整理(持续更新)
nativenative是与C++联合开发的时候用的!java自己开发不用的!使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。native 是用做java 和其他语言(如c++)进行协作时用的 也就是native 后
2020-12-07 22:44:49
75
原创 线程总结四:synchronized
同步方法:synchronized由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,最主要有以下几种应用方式:修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的
2020-12-03 22:22:14
154
4
原创 Protobuf 的简单使用(未完待续)
第一步:下载:Protobuf 下载地址第二步:解压第三步:配置环境变量(我是win10的)第四步:运行(注:和exe放在一个包下)在同一个目录下cmd,输入命令:protoc.exe -I=. --java_out=./ passVehicle.proto(你想要转换的proto文件)转换成功...
2020-12-01 14:02:21
109
原创 ActiveMQ的简单使用(未完待续)
ActiveMQActiveMQ 是Apache出品,最流行的. 功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。提供客户端支持跨语言和协议,带有易于在充分支持JMS 1.1和1.4使用J2EE企业集成模式和许多先进的功能。特性:多种语言和协议编写客户端。语言: Java. C. C++. C#. Ruby. Perl. Python. PHP。 应用协议:OpenWire. Stomp REST. W
2020-11-30 22:36:16
190
1
原创 线程总结三:线程的优先级和守护线程
线程优先级:Java提供了一个线程调度器来监控程序启动后进去就绪状态的所有线程。线程调度器通过线程的优先级来决定调度哪些线程执行。一般来说,Java的线程调度器采用时间片轮转算法使多个线程轮转获得CPU的时间片。然而根据实际情况,每个线程的重要程序也不相同,有时候我们想让一些线程优先执行,那么我们可以将他的优先级调高一下,这样它们获得的时间片会多一些。java提供了一个线程调度器来监控程序中,启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围从
2020-11-29 20:39:39
136
原创 线程总结二:线程的五个状态
常用方法:方法解释setPriority(int newPriority)更改线程的优先级static void sleep(long millis)在指定的毫秒内让当前正在执行的线程休眠void join()等待线程终止static void yield()暂停当前正在执行的线程对象,并执行其他线程void interrupt()中断线程,别用这个方式boolean isAlive测试线程是否处于活动状态线程休眠:sleep(时间.
2020-11-27 22:48:41
132
原创 线程总结一:创建线程的三种方法
继承Thread类:子类继承Thread类具备多线程能力启动线程:子类对象.start()不建议使用:避免OOP单继承局限性public class ThreadDemo2 extends Thread { @Override public void run() { for (int i = 0; i < 1000; i++) { System.out.println(Thread.currentThread().getName().
2020-11-27 22:21:41
235
原创 数据类型之队列的自我总结
QueueQueue:基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接口,因此我们可以把LinkedList当成Queue来用。队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。Java 集合中的 Queue 继承自 Collection 接口 ,Deque, LinkedList, PriorityQueue, BlockingQueue 等类
2020-11-27 16:52:05
234
1
原创 Java中的堆和栈的自我总结
栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据在多个线程或者多个栈之间是不可以共享的,但是在栈内部多个值相等的变量是可以指向一个地址的,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由..
2020-11-24 23:29:50
149
原创 数据类型之数组的自我总结
数组数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。特点数组是相同数据类型的元素的集合。数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在
2020-11-24 11:01:09
127
原创 数据结构的自我总结
数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。数据结构定义数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多
2020-11-23 21:38:48
1058
原创 Ajax的自我总结
浏览器在接收到服务器数据后,两种表现形式:浏览器全局刷新:服务端返回得数据,将浏览器内存中得原有得数据。进行更新,此时浏览器展示给用户的只能响应的结果,无法同时展示请求发送之前的内容。浏览器局部刷新:服务端返回的数据,只会对浏览器部分[标签]的内容进行更新,此时浏览器既可以展示得到数据同时也可以展示发送请求之前绝大部分内容。浏览器接受到服务端数据后,两种实现表现原因。浏览器全局刷新:如果发送请求时,是由浏览器直接向服务端发送请求,此时服务端将响应结果也直接推送到浏览器的内存中,导致浏览器内存中
2020-11-22 22:24:03
88
原创 Java基础的补充之数据类型转换
由于java是强类型语言,所以不同类型进行运算的时候,就需要用到类型转换。低------------------------------------------------------------------->高byte,short,char->int ->long ->float->doble在运算中,不同类型的数据先转化为同一类型,然后进行运算。强制类型转换–高->低自动类型转换–低-高我们先看下面这个例子:int i = 128;byte b =
2020-11-22 19:38:09
74
原创 Java基础的补充之基本数据类型
Java是一种强类型语言,即要求变量的使用要严格符合规定,所有变量必须先定义后才可以使用java的数据类型分为两大类:什么是字节位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示1B(byte,字节) = 8bit(位)字符:是指计算机中使用的字母、数字、字和符号1bit表示一位1Byte表示一个字节 1B = 8b1024B = 1kb1024 KB =
2020-11-22 16:51:42
101
原创 工厂模式的简单demo
工厂模式在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂模式可以分为三类:1)简单工厂模式(Simple Factory)2)工厂方法模式(Factory Method)3)抽象工厂模式(Abstract Factory)这三种模式从上到下逐步抽象,并且更具一般性。GOF在《设计模式》一书中将工厂模式分
2020-11-17 21:06:44
484
2
原创 代理模式的自我总结
代理模式什么是代理?代理模式,就是给一个对象提供种代理对象以控制对该对象的访问。 在这个模式中,我们通过创建代理对象作为“替身"替代了原有对象,从而达到我们控制对象访问的目的。通俗来说,代理=代替处理。是由另一个对象来代替原对象来处理某些逻辑。举个例子:房产中介,代跑腿业务,送外卖…代理模式能带给我们什么?代理模式能带给我们控制访问某个对象的能力,在某些情况下,一个对象的某些方法想要进行屏蔽或者某种逻辑的控制,则我们可以通过代理的方式进行。再此能力上,引申出来的作用,也是目前在开发中经常使用的一
2020-11-15 22:36:18
218
原创 Collection的自我总结
话不多说,上图片Collection 可以主要分为 set、List 、Queue 三种类型。这里 Map 是不属于 Collection 的,Map 是一个独立的数据结构。但是 Collention 又和 Map 的实现上又互相依赖。List 有序 按进入的顺序存储,元素可以重复List:次序是list最重要的特点,它保证了元素特定的顺序。List为Collection添加了很多方法,让List可以从中间添加或者移出元素(只推荐LinkedList)使用,一个List可以生成ListIerator
2020-11-14 23:41:47
139
原创 迭代器的简单Demo
迭代器(Iterator)迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。Java中的Iterator功能比较简单,并且只能单向移动:使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。使用next()获得序列
2020-11-14 22:37:01
228
原创 返回值工具类
首先,创建一个枚举类。注意:如果注掉这行代码,会直接返回SUCCESS。这样,会返回它所对应的值。写返回值的工具类public class ReturnDemo extends HashMap<String, Object> {/** * 状态码 */public static final String CODE = "code";/** * 返回内容 */public static final String MSG = "msg";/** * 返回对象
2020-11-13 22:40:22
332
原创 IDEA设置类名/方法名,自动注释
类名注释/**@ProjectName: ${PROJECT_NAME}@Package: ${PACKAGE_NAME}@ClassName: ${NAME}@Author: ********@Date: ${DATE} ${TIME}@Version: 1.0*/方法名注释点击右侧+,新增一个Live Templates。Abbreviations 是设置快捷键 。输入/*+Tab键就能出来注释了。/**@Method
2020-11-13 21:58:36
2508
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人