UE4中经常需要一些和时间相联系的功能,例如在一段时间内完成一个动作,播放一段动画,或者只是单纯的延迟函数的执行时间,即调整事件的执行顺序。在UE4的蓝图自带函数中有一个很好用的函数可以完美地解决这些需求,它就是Timeline。首先从事件节点开始介绍PlayPlay是从Timeline的初始时间点...
CsToLua工具将客户端 C#源码自动转换为Lua,实现热更新,本文以麻将项目为例介绍客户端技术细节。麻将项目架构其中ChinaMahjong-CSLua为C#工程,实现麻将项目的主要业务流程。翻译工程的输入是C#项目生成的dll文件。其中Cecil负责分析类型 类成员关系 ,比如类字段函数结构,...
2.1 JDK、JRE和JVM关系要弄清楚JDK、JRE和JVM这三者之间的关系,先看如下图,有个感性的认识:DK:Java Development ToolKit(Java开发工具包)。JDK是整个Java的核心,包括了JRE,一堆Java工具(javac/java/jdb等)和Java基础的类库...
2018年即将过半,前端开发这个行业又进一个台阶了。找来一个现代前端技术图谱看看,真是吓尿了——宝宝心里苦啊!▲点击图片看大图仔细想想,这要是全学会了还得了,也太不切实际了。还是来看看现在流行的是有哪些东西,跟着潮流走总不会错的。每一个开发者都有着自己的知识和习惯,根据自己的知识和习惯,很容易地理所...
JAVA中使用到继承就会有两个无法回避的缺点:打破了封装性,迫使开发者去了解超类的实现细节,子类和超类耦合。超类更新后可能会导致错误。继承打破了封装性关于这一点,下面是一个详细的例子(来源于Effective Java第16条)public class MyHashSet<E> exte...
性能问题的主要原因是什么,原因有相同的,也有不同的,但归根到底,不外乎内存使用、代码效率、合适的策略逻辑、代码质量、安装包体积这一类问题。但从用户体验的角度去思考,当我们置身处地得把自己当做用户去玩一款应用时候,那么都会在意什么呢?假如正在玩一款手游,首先一定不希望玩着玩着突然闪退,然后就是不希望卡...
1.定义单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统...
基本概念快速排序是非常流行、应用非常广泛的排序算法,而且实现简单,适用于各种不同的输入数据,在一般应用中比其他排序算法都要快很多。快速排序是基于分治思想的原地排序的排序算法,将长度为N的数组排序所需时间和NlgN成正比,而且内循环比大多数排序算法都要短小和简单,因此一般情况比其他排序算法效率高。它的...
这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线程完成,继续假设平均每个线程处理一个Tra...
一、基本概念回溯法,又称为试探法,按选优条件向前不断搜索,以达到目标。但是当探索到某一步时,如果发现原先选择并不优或达不到目标,就会退回一步重新选择,这种达不到目的就退回再走的算法称为回溯法。与穷举法的区别和联系:相同点:它们都是基于试探的。区别:穷举法要将一个解的各个部分全部生成后,才检查是否满足...
写这篇总结,主要是记录下自己的学习经历,算是自己对知识的一个回顾。也给想要学习 Java 的提供一些参考,对于一些想要学习Java,又不知道从哪里下手,以及现在有哪些主流的 Java 技术。想必大家学习一门技术,前期都很想看到一些结果或成就,这样就比较容易激励自己学习下去,最好的办法就是实践,实践,...
爬虫基本流程发起请求通过HTTP库向目标服务器发送Request,Request内可以包含额外的headers信息。获取响应内容如果服务器正常响应,会返回Response, 里面包含的就是该页面的内容。解析数据内容或许是HTML,可以用正则表达式、网页解析库进行解析。或许是Json,可以直接转换为J...
如果待处理任务满足:可拆分,即任务可以被拆分为多个子任务,或任务是多个相同的任务的集合;任务不是CPU密集型的,如任务涉及到较多IO操作(如文件读取和网络数据处理)则使用多线程将任务并行运行,能够提高运行效率。假设待处理的任务为:有很多文件目录,对于每个文件目录,搜索匹配一个给定字符串的文件的所有行...
引言昨天和刚入行就带我的老领导相约北京酒吧,4年师徒情,7年未见,从老公司境况到老熟人的现状,到现在的工作,未来的发展。从当下的技术到新技术的展望,聊到数据库架构,我说我现在还是在做传统的数据库架构,而老领导满心的分布式,好像不是分布式都是比较LOW了,这里面依然存在着这样一个问题,什么是“分布式”...
模块间调用在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种:(1)同步调用同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法...