自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心中有侠

回顾基础,温故知新

  • 博客(213)
  • 收藏
  • 关注

原创 IDEA 导入Gradle项目报:Expiring Daemon because JVM heap space is exhausted 或 GC overhead limit exceeded

随着项目越来越庞大,今天项目导入到 IDEA 中的时候报了内存错误。JVM 堆区不够的错误忘截图了,只截了一个 GC 的:网上大部分的解决方案(包括Stack Overflow里边)都是让在工程目录下的 gradle.properties 中添加如下配置:org.gradle.daemon=trueorg.gradle.configureondemand=trueorg.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=2048m -XX:+Heap..

2020-11-13 16:42:13 4769 2

原创 List<T>序列化为byte[]

一、工具类源码public class SerializeUtils { /** * 序列化 * @param obj * @return */ public static byte[] serialize(Object obj) { byte[] result = null; ByteArrayOutputStream baos = new ByteArrayO...

2019-10-23 09:57:37 1922

原创 开发环境下vue项目解决跨域问题(亲测可用)

vue项目的IP和端口号:localhost:8080springboot项目的IP和端口号:localhost:80811.在vue项目config目录下的index.js中找到proxyTable2.在proxyTable的花括号中添加部分代码,效果如下,根据自己后端的IP和端口号自行修改proxyTable: { '/hou': { tar...

2019-06-22 17:11:42 740

原创 动态规划——硬币找零问题(附Java代码)

问题描述现在有3种硬币分别为:1元,5元,10元,现在给你63元,让你全部换成硬币,求出最小硬币数量,也就是说,怎么用最少的硬币数凑成63元。分析问题解决这个问题,我们可以将这个大问题分成若干个小问题,自下而上解决问题。1元对应的最小硬币数是12元对应的最小硬币数是23元对应的最小硬币数是34元对应的最小硬币数是4……63元对应的最小硬币数是XXX假设...

2019-03-26 10:19:19 2308 2

原创 动态规划思想的理解……简单直接,易于理解(来源:知乎)

引言当你企图使用计算机解决一个算法问题时,你其实就是在思考如何将这个问题表示为状态(用哪些变量存储哪些数据)以及如何在状态中转移(怎样根据一些变量计算出另一些变量)。所以所谓的空间复杂度就是为了支持你的计算所必需存储的状态最多有多少,所谓时间复杂度就是从初始状态到达最终状态中间需要多少步。总结一个问题是该用递推、贪心、搜索还是动态规划,完全是由这个问题本身阶段间状态的转移方式决定...

2019-03-25 17:51:33 707

原创 plsql怎么链接远程oracle数据库

用户名密码都不用说了,主要是数据库填写的格式为     ip地址:端口号 / 服务名

2019-02-15 17:37:44 276

原创 计算机中的有符号数都是以二进制的补码形式存储的

问个问题,以下代码,输出多少?其中  ~ 为Java中位运算符中的取反运算符。int i = 0;System.out.println( ~i ); 正确答案:    -1    。 因为变量i为int类型,Java中int类型4个字节(4Byte),也就是32位(32bit)。表示为二进制:(+0):0000 0000 0000 0000 0000 0000 ...

2019-02-13 17:57:06 4802

原创 Java父类可以强转为子类吗

今天复习反射的时候,我凭印象写出了如下利用反射生成对象的代码:try { Object objectBigCar = Class.forName( new BigCar().getClass().getName() ).newInstance(); BigCar bigCar2 = ( BigCar )objectBigCar; bigCar2.setLength( 200 )...

2019-02-13 17:08:25 21814 2

原创 window.open()子页面向父页面传值

通常有一种场景:在父页面打开一个子页面,将子页面选中的某些数据传递给父页面,父页面再对这些数据进行处理这种场景可以用window.open(). 代码:父页面&lt;div onclick="goChild()"&gt; 子页面的name&lt;/div&gt;&lt;input id="hidden1" name="hidden1" type="hidden.

2019-01-14 10:41:14 4828 3

原创 event.srcElement Firefox不兼容解决办法

function selectTab(event){ var target = event.srcElement ? event.srcElement : event.target; ... }  注意:        调用的时候要将event传进函数

2019-01-04 15:21:19 586

原创 window.open()窗口居中显示

var iWidth = 400; //弹出窗口的宽度;var iHeight = 450; //弹出窗口的高度;var iTop = (window.screen.height-30-iHeight)/2; //获得窗口的垂直位置;var iLeft = (window.scre...

2018-12-28 16:49:25 4976

原创 js怎么判断一个变量是否是函数

if (typeof FunName === "function") { alert("这是一个函数");} else { alert("这不是一个函数");} 

2018-12-28 15:39:27 11493

原创 spring中的IOC,AOP和DI

一、描述 IOC(控制反转):利用反射的原理将对象创建的权利交给了spring容器,spring在运行的时候根据配置文件来动态的创建对象和维护对象之间的关系,实现了松耦合的思想 AOP(面向切面编程):通过配置可以实现吧业务逻辑和系统服务分离,业务逻辑只关心业务的处理而不再去处理其他事情 DI(依赖注入):由spring容器将对象注入到使用它的地方,被注入的对象...

2018-12-12 11:06:58 277

原创 jquery.js对比vue.js

简单介绍: jquery.js : 其实就是一个函数库,它提供了功能强大而且使用方便的各种函数.使用jquery.js可以很方便的进行各种DOM操作. vue.js : 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,vue 被设计为可以自底向上逐层应用.vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.总而言之,vue省去了复杂的DOM操...

2018-12-12 10:39:17 1020

原创 Navicat链接本地oracle数据库出现ORA-12514(亲测可用)

本人一直习惯用Navicat链接mysql数据库,对Navicat有感情而且觉得它还是挺好用的。但是今天链接oracle数据库时出现了ORA-12514错误提示。接下来,我说一下我是怎么解决的。 1.在oracle安装目录找到tnsnames.ora文件。可以用windows的查找功能,比较方便。 2.用notepad++打开它 3.复制下图红框中的信息 4.打...

2018-12-06 09:40:35 6306 2

转载 理解偏向锁,轻量锁,重锁

java中每个对象都可作为锁,锁有四种级别,按照量级从轻到重分为:无锁、偏向锁、轻量级锁、重量级锁。并且锁只能升级不能降级。 在讲这三个锁之前,我先给大家讲清楚自旋和对象头的概念。自旋现在假设有这么一个场景:有两个线程A,B在竞争一个锁,假设A拿到了,这个时候B被挂起阻塞,一直等待A释放了锁B才得到使用权。在操作系统中阻塞和唤醒是一个耗时操作,如果A在很短的时间内就释放了锁,当这个...

2018-11-07 00:29:28 1889 1

原创 volatile的两条实现原则

1.Lock前缀指令会引起处理器缓存回写到内存。2.一个处理器的缓存回写到内存中会导致其他处理器的缓存无效。

2018-11-07 00:13:16 271

原创 堆外内存溢出

配置JVM参数时,不仅仅要考虑实际内存来设置-Xmx等参数,还要考虑到直接内存!因为,直接内存并不是JVM运行时数据区的一部分,但是会被经常使用。如果忽略了它,很可能会造成明明jvm内存还是足够的,但是却内存溢出了。原因是,各个内存区域的综合大于物理内存的限制啦。...

2018-11-07 00:06:46 597

原创 Java中的NIO类

Java在jdk1.4中新加入了NIO(new input/output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,他可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用来操作。这样能在一些场景中显著提高性能。因为避免了在Java堆和Native堆中来回复制数据。...

2018-11-07 00:01:22 494

原创 java字面量和符号引用

1.字面量字面量就是直接量,举个例子。String str = "str";int i = 1;"str"和1都是字面量,有别于变量。 2.符号引用符号引用就是某个变量,在编译的时候,无法确定其内存地址。String str = "Hello World!"System.err.println(str);第二行代码中的str在编译的时候就会编译为符号引用。...

2018-11-06 23:55:17 3118

原创 Java不可变类

1.不可变类:当类的实例一经创建,其内容便不可改变。 2.Java 中八个基本类型的包装类和 String 类都属于不可变类,而其他的大多数类都属于可变类。 3.不可变类都是线程安全的。...

2018-11-06 23:49:30 180

原创 Java中的String,StringBuffer,StringBuilder比较

1.执行效率:StringBuilder  &gt;  StingBuffer  &gt;  StringString是字符串常量,每次更改某个字符串,实际上是创建了一个新的字符串,然后重新指向这个新的字符串。如果操作频繁的话,会产生很多无引用的对象,也就是会触发JVM的垃圾回收(GC),进而导致效率变低。StringBuffer和StringBuilder它们属于变量,是可以改变的对象,...

2018-11-06 23:43:33 164

原创 如何减少上下文切换

无锁并发编程,CAS算法,使用最少线程,使用协程。

2018-10-24 19:44:33 289

原创 简述volatile关键字

在多线程并发编程中,synchronized和volatile都扮演着重要角色,volatile是轻量级的synchronize,在多处理器开发中,扮演了保证共享变量的“可见性”。可见性的意思是当一个线程修改个一个用volatile修饰的共享变量时,另外一个线程能读到这个修改的值。如果volatile变量修饰符使用恰当的话,它比synchronize的使用和执行成本更低,因为它不会引起线程上下文的...

2018-10-24 19:42:27 132

原创 上下文切换

CPU通过时间片分配算法来循环执行任务。当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以在加载这个任务的状态。所以任务从保存到加载的过程就是一次上下文切换。...

2018-10-24 19:31:35 135

原创 时间片

时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停的切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是十几毫秒(ms)。...

2018-10-24 19:28:12 3268

原创 单核处理器支持多线程编码吗?

支持。CPU通过给每个线程分配CPU时间片来实现这个机制。

2018-10-24 19:24:50 966

原创 多线程一定比单线程快吗

不一定。因为,存在线程创建和上下文切换的时间开销。

2018-10-24 19:22:21 1485

原创 java中怎么不用科学计数法表示double

代码:double d = 456897456.1258452974512312;System.out.println(d); DecimalFormat df = new DecimalFormat("0.0000");String num = df.format(d);System.out.println(num); 效果:4.568974561258453E8...

2018-10-08 11:24:07 4609

原创 JSTL标签库中的c:if

&lt;c:if test="${year &gt; 20}" var="flag" scope="session"&gt; &lt;p&gt;年龄为: &lt;c:out value="${year }"/&gt;&lt;p&gt;&lt;/c:if&gt;&lt;c:if test="${not flag}&

2018-10-08 10:09:47 591

原创 EL表达式empty用法

&lt;c:if test="${! empty key}"&gt;${key}&lt;/c:if&gt;  &lt;c:if test="${empty key}"&gt;所有&lt;/c:if&gt;  当key不为空时输出key的值。当key为空时,输出“所有”  规则:  1若key为null时,返回true  2若key为空String时,返回true  3若key为空...

2018-10-08 10:04:14 6700

原创 jQuery获取class相同的div中的最后一个

$("div[class=active]:last") 

2018-10-07 13:48:40 15593 1

原创 Thread.join()

线程A的run方法中调用了线程B的join,此时线程A处于阻塞状态,直到线程B执行完毕或者死亡的时候,线程A才会继续执行。 

2018-10-06 22:41:54 2963

原创 happens-before原则

如果ActionA和ActionB属于同一个线程,那么就说明ActionA happens-before ActionB。 如果ActionA是unlock操作,而ActionB是lock操作,那么ActionA happens-before ActionB。    如果A是对volatile变量的写操作,ActionB是对同一个变量的读操作,那么ActionA happ...

2018-10-06 21:57:15 723

原创 一个线程将变量修改之后,其他线程怎么同步更新

将变量用volatile修饰volatile boolean keepRunning; 

2018-10-06 21:48:05 3069

原创 线程怎么让出CPU执行权

Thread.yield(); 

2018-10-06 21:45:13 2246

原创 实现Runnable接口怎么获取当前线程的名字

Thread.currentThread().getName() 

2018-10-06 21:43:16 6923 1

原创 怎么将本地文件传到远程的Linux服务器

1.下载xftp5地址:mydown.yesky.com/xzdown/344697 2.安装xftp5  3.使用xftp5传输文件主机:IP地址协议:sftp用户名:root密码:你的密码 5.连接成功之后,左侧为本地目录,右侧为服务器目录,直接将本地文件,拖到右侧想要的目录就行。   ...

2018-10-06 21:29:10 7503

原创 远程服务器上的tomcat怎么更新war包

1.导出最新的war包。  2.利用xftp5连接远程服务器,将旧的war包删除,新的war包复制过去。  3.重启tomcat

2018-10-06 16:36:27 5494 3

原创 eclipse中怎么创建properties文件

1.右击——new——Other  2.搜索:File,找到File选项,然后next  3. 输入完整名称,例如:database.properties  4.Finish

2018-10-06 16:30:28 7021

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除