知识点
文章平均质量分 89
weixin_39407066
这个作者很懒,什么都没留下…
展开
-
jdk8新特性
Lambda:Java中Lambda表达式的使用_程序员的博客-CSDN博客_java lambda表达式Date:jdk7的特点1、所有的日期类都是可变的,因此他们都不是线程安全的,这是Java日期类最大的问题之一。 2、Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外 用于格式化和解析的类在java.text包中定义。 3、java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期,将其纳入ja...原创 2021-12-15 19:32:26 · 365 阅读 · 0 评论 -
Jvm参数介绍及调优总结
首先介绍一下新生代、老年代。所谓的新生代和老年代是针对于分代收集算法来定义的,新生代又分为Eden和Survivor两个区。加上老年代就这三个区。数据会首先分配到Eden区 当中(当然也有特殊情况,如果是大对象那么会直接放入到老年代(大对象是指需要大量连续内存空间的java对象),当Eden没有足够空间的时候就会 触发jvm发起一次MinorGC。如果对象经过一次MinorGC还存活,并且又能被Survivor空间接受,那么将被移动到Survivor空 间当中。并将其年龄设为1,对象在Survivor每..原创 2020-12-05 18:50:50 · 514 阅读 · 0 评论 -
linux整理
linux基本介绍1.linux命令在线查询:http://man.linuxde.net/2.linux系统中断正在执行的程序,就要用Ctrl + c键组合而非[delete]键。3.unix提供了多个多个shell程序(bourne shell, C shell, Korn shell,Bash shell)管理员在为用户创建账号时,就规定了用户所使用的shell程序4.命令区分大小写,命令与参数之间要用空格符或者制表符分隔。把一组连续的空格符或者制表符称为空白字符串,系统规定命令中的各原创 2020-10-25 23:04:19 · 2151 阅读 · 0 评论 -
通用对象池GenericObjectPool
GenericObjectPool 是Apache Commons Pool提供的对象池,使用的时候需要调用 borrowObject 获取一个对象,使用完以后需要调用 returnObject 归还对象,或者调用 invalidateObject 将这个对象标记为不可再用。GenericObjectPool创建时,可以用有参构造函数进行初始化,通过GenericObjectPoolConfig 和PooledObjectFactory来进行参数的初始化和对象工厂类的引入。PooledObje...原创 2020-10-14 10:08:48 · 5420 阅读 · 1 评论 -
Signal机制
java中提供了signal的机制。在sun.misc包下,属于非标准包。重要涉及到两个类:Signal和SignalHandler。其中Signal主要使用了静态方法Signal.handle(Signal, SignalHandler),而SignalHandler是一个接口,有一个抽象方法void handle(Signal var1);需要我们自己实现SignalHandler接口处理。在Linux下支持的信号(具体信号kill -l命令查看):SEGV, ILL, FPE, BUS, SYS原创 2020-09-08 22:32:36 · 2837 阅读 · 0 评论 -
Base64编码原理
Base64的由来目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一。在做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后再进行签名或加密,之后再进行(或再次Base64)传输。那么,Base64到底起到什么作用呢?在参数传输的过程中经常遇到的一种情况:使用全英文的没问题,但一旦涉及到中文就会出现乱码情况。与此类似,网络上传输的字符并不全是可打印的字符,比如二进制文件、图片等。Base64的出现就是为了解决此问题,它是基于64个可打印的字符来表示二进制的数原创 2020-09-08 11:41:01 · 289 阅读 · 0 评论 -
Spring Framework
介绍:Spring Framework核心支持依赖注入,事务管理,Web应用程序,数据访问,消息传递,测试和更多功能。Spring 官网:https://spring.io/ Spring 文档:https://spring.io/guides Spring Project:https://spring.io/projects 项目快速生成器:https://start.spring.io/Spring框架为现代基于Java的企业应用程序提供了一个全面的编程和配置模型 - 在任何类...原创 2020-09-05 15:06:29 · 1064 阅读 · 0 评论 -
JVM详解
JVM:从软件层面屏蔽了底层硬件、指令层面的细节,保证了跨平台。JRE:Java程序运行环境,JDK:Java程序的开发环境. JDK: JRE + 工具 。JRE: JVM + 类库(javaSE)。每个Java应用程序有一个Runtime类的实例,使运行程序与运行环境相连接,Runtime的exec(string)方法可以执行dos命令。通过Runtime的getRuntime返回实例。程序计数器:指向当前线程正在执行的字节码指令的地址(行号)。而线程只负责执行,不负责记忆。栈帧:栈原创 2020-12-10 18:42:37 · 488 阅读 · 0 评论 -
Redis
@【TOC】目录# Redis简介REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统,是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。一款高性能的NOSQL系列的非关系型数据库。关系型有 mysql 和oracle等。关系型数据库与非关系型数据库对比:两者互补,通常情况下,使用关系型数据库,在合适的时候使用Nosql数据库,一般会将数据存储在关系型数据库,在Nosql数据库.原创 2020-07-19 22:44:14 · 591 阅读 · 0 评论 -
Netty总结
对于高性能的 RPC 框架,Netty 作为异步通信框架,几乎成为必备品。例如,Dubbo 框架中通信组件,还有 RocketMQ 中生产者和消费者的通信,都使用了 Netty。今天,我们来看看 Netty 的基本架构和原理。Netty 的特点与 NIONetty 是一个异步的、基于事件驱动的网络应用框架,它可以用来开发高性能服务端和客户端。其中,Selector 机制就是 NIO 的核心。当每次客户端请求时,会创建一个 Socket Channel,并将其注册到 Selector 上(多路复用器)原创 2020-07-18 22:46:24 · 366 阅读 · 0 评论 -
九种算法整理
稳定性:如果相同元素排序前后的顺序不变,说明该算法是稳定的.时间开销:数据比较次数与数据移动次数来衡量.空间开销:执行算法顺序时的附加存储开销.忽略常数,用O(1)表示1.选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的...原创 2020-03-14 18:15:55 · 483 阅读 · 0 评论 -
ExecutorService学习
转载:https://blog.csdn.net/fwt336/article/details/81530581在我们的日常开发中,难免会使用到线程,部分还会用到多线程并发问题。我们知道,线程的创建和释放,需要占用不小的内存和资源。如果每次需要使用线程时,都new 一个Thread的话,难免会造成资源的浪费,而且可以无限制创建,之间相互竞争,会导致过多占用系统资源导致系统瘫痪。不利于扩展,比如...原创 2019-03-28 16:24:08 · 662 阅读 · 0 评论 -
Java中Lambda表达式的使用
此笔记仅用作复习使用:https://www.cnblogs.com/franson-2016/p/5593080.htmlLambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。...原创 2019-03-26 17:39:22 · 65588 阅读 · 15 评论 -
ReentrantLock问题记录
说ReentrantLock前我们先了解一下Lock与AbstractQueuedSynchronizer(AQS),Doug Lea大师为我们提供了大量实用,高性能的工具类,这些代码在java.util.concurrent包下。包的结构大概是:lock简介我们下来看concurent包下的lock子包。锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享...原创 2019-03-21 18:23:17 · 1041 阅读 · 0 评论 -
ConcurrentHashMap,CopyOnWriteArraySet「E」,BlockingQueue
1.ConcurrentHashMap:大家都知道HashMap是非线程安全的,Hashtable是线程安全的,但是由于Hashtable是采用synchronized进行同步,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。而ConcurrentHashMap避免了为整个容器上锁。JDK1.8以前他把整个容器分成了若干个段(Segment),而这些段数组的容量是固定的。每个段又相当于一...原创 2019-03-20 20:01:09 · 964 阅读 · 0 评论 -
unity的RectTransform
RectTransform继承于Transform,配合Canvas专门交给UGUI使用.控制UI的大小旋转缩放等。1.Anchorunity中的ui元素是有严格的父子关系的,子物体的位置是根据父物体的变化而变化的,而子物体和父物体联系的桥梁就是Anchor。在recttransform面板中可以调整锚点的值.min和max表征的是该点所在位置占父物体大小的比例.(默认左下角为0,0点,右...转载 2018-12-11 17:38:40 · 6348 阅读 · 0 评论 -
Unity的一些基础性东西
1.Unity是单线程的游戏引擎,unity的非主线程中无法访问Unity的API,这种限制的原因:游戏中逻辑更新和画面更新的时间点要求有确定性,必须按照帧序严格保持同步,否则就会出现游戏中的对象不同步现象。2.生命周期:我们在自己脚本里写OnApplicationQuit,OnDisable,OnDestroy三个函数时的执行顺序于书写顺序一样,是因为在OnApplicationQuit里调...原创 2018-12-18 11:49:36 · 436 阅读 · 0 评论 -
Unity里的协程和lua里的协同
线程:一个线程在程序中和其他线程是异步运行的,在多处理器机器中一个线程可以同时与所有其他线程的实时运行其代码,这使得线程编程能够解决很复杂的事情,因为可能在相同的时间里一个线程在改变它而另一个线程正在读取它,正因为如此,你必须通过锁,以确保这种情况不会由任何确保没有共享内存发生.Unity中可以开启多线程, 但是只有主线程能访问Unity的方法。协程(coroutine)与多线程情况下的线程比...原创 2018-12-15 14:35:11 · 1817 阅读 · 0 评论 -
lua里的一些特殊方法和变量
1.pcall (f, arg1, ···):pcall在保护模式(protected mode)下执行函数内容,同时捕获所有的异常和错误。若一切正常,pcall返回true以及“被执行函数”的返回值;否则返回false和错误信息(打印出来即可)。Lua 代码可以显式的调用error函数来产生一条错误。成功后的多个返回值要用多个变量接收, f 后面的都为参数。Calls function...原创 2018-11-06 12:25:09 · 837 阅读 · 0 评论 -
lua实现栈
function Stack:ctor() self.Stack_table = {} self.StackSize = 0endfunction Stack:Size() return self.StackSize or 0endfunction Stack:Puch(element) local size = self:Size() self.Stack_tabl...原创 2018-06-29 21:21:46 · 716 阅读 · 0 评论 -
Java第六章 String类
1.它不是java的基本类型之一。但可以像基本数据类型一样使用。2. string s = new string() 表示一个空字符串 并且可以在new的时候直接赋值,而String a = "hello"也是可以的 。 用 + 号链接字符串,和其他类型链接返回字符串。C#里不包含string无参的构造函数。indexof 返回字符在字符串里的位置 没有返回-1.其实就是字符的数组,Strin...原创 2018-07-01 18:35:23 · 225 阅读 · 0 评论 -
lua实现list
require("class")List = class()local function InitNote(data, prev, next) local o = {} o.Data = data o.Prev = prev o.Next = next return oend function List:ctor() self.Head = InitNote(n...转载 2018-07-01 19:13:03 · 5506 阅读 · 0 评论 -
Java第七章 类和对象
可将将类看做是对象的载体1.对象:静态部分,动态部分,静态的为属性,动态的为行为。面向对象的三大特点:1.封装:封装变化,让封装的类或组件,尽量只负责一个领域的工作.。2.继承:主要利用对象的共性解决同样的问题,概念形成统一,通过继承可以管理多个概念。3.多态:同一个行为的不同表现方法 ,解决父类的方法在子类不适合的问题。主要思想:分而治之,高内聚,低耦合,封装变化。...原创 2018-07-03 00:11:31 · 598 阅读 · 0 评论 -
Swing程序设计
Swing是 GUI(图形用户界面)开发工具包,在AWT(CLI)(抽象窗口工具包)的基础上使开发开发跨平台的java应用程序界面成为可能,早期的AWT依赖于本地系统,Swing开发的不受平台限制,也就是说,用swing开发的java应用程序移植到其他系统平台时其外观界面不会改变,这是因为Swing组件内部提供了相应的用户界面,而这些用户界面是纯java语言编写的,而不依赖与本地平台,所以swin...原创 2018-07-17 16:45:10 · 2131 阅读 · 0 评论 -
java第二篇Java基础
Java分为三个版本:Java SE(标准版)、Java EE(企业版)、Java ME(微型版)。其中JavaSE就是大家学JavaEE和JavaME的基础,换而言之学Java先从JavaSE开始,JavaSE 包含了支持 Java Web 服务开发的类,JavaEE是企业最常用的用于企业级开发应用的,Java ME主要是移动段的开发应用。eclipse安装教程 : https://blog...原创 2018-06-28 20:59:59 · 370 阅读 · 0 评论 -
lua实现循环队列
function Queue:ctor(capacity) self.capacity = capacity or 5 self.queue = {} self.size_ = 0 self.head = -1 self.rear = -1endfunction Queue:EnQueue(element) if self.size_ == 0 ...原创 2018-06-28 21:02:40 · 1130 阅读 · 0 评论 -
Java第九篇反射和异常处理
上一篇已经介绍了C#类和java类的区别,由于工作原因经过三天的间断整理才合完,以备后面复习时对比。这里把发射单独做一篇讲解。首先;当程序要使用某个类时,如果该类还未被加载到内存,则系统通过加载(通过类加载器完成),连接,初始化实现对这个类的加载。加载:就是指将class文件读入内存,并为之创建一个Class对象,任何类被使用时都会建立一个Class对象。连接:验证:是否有正确的内部结构,并和...原创 2018-07-05 00:29:17 · 2035 阅读 · 0 评论 -
java网络通信
java已经将网络程序所需要的东西封装成不同的类,只要创建这些类的对象,使用相应的方法,就可以实现网络通信。服务器-----------网络-----------客户机。服务器是指提供信息的计算机或程序,客户机是指请求信息的计算机或程序,通常所说的“局域网”(local Area Network)LAN ,是一群通过一定形式连接起来的计算机,LAN延伸到更大的范围,这样的网络称为“广局网”(w...原创 2018-08-03 16:58:12 · 10610 阅读 · 2 评论 -
Java第12篇输入输出I/O和ASCII码
先说一下路径中的“/”和“\”:一般可以认为是”/”的作用等同于”\”,在java中路径一般用”/”,windows中的路径一般用”\”.linux、unix中的路径一般用”/” .所以在java中写windows路径一般用”/”,或用“\”将”\”转义一下,就成了”\”。1.java中浏览器地址栏网址使用 斜杆/ ;2.windows文件浏览使用 反斜杠\ ;3.出现在html ur...原创 2018-07-10 14:49:21 · 2743 阅读 · 0 评论 -
JDBC操作数据库
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL(SQL 是用于访问和处理数据库的标准的计算机语言。)语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC是连接数据库和java程序的桥梁,通过...原创 2018-08-05 17:14:48 · 295 阅读 · 0 评论 -
C#的委托和java里的委托
C#:委托是方法的代理,委托的是方法,当调用委托时就调用了它的方法,是一类行为的抽象,是一种自定义数据类型。它有统一的返回类型和参数。1.定义委托:访问级别delegate 返回值 委托的名称(参数组成)delegate void Handler(); 2.创建委托:Handler handler = new Handler(Fun);Fun是当前类中的方法名称。3.调用委托, handle...原创 2018-11-01 18:23:45 · 3327 阅读 · 0 评论 -
java流程控制,数组,集合
1.复合语句:由{开始,由}结束。在作用域外调用复合语句内的变量会报错。2.if语句、switch语句:break 停止, 没有情况执行default。while(进入条件)循环{} 、do.. while(进入条件) 循环(至少执行一次循环体)、for循环、foreach循环. 跳转语句 break(跳出当前循环)、 continue(跳过当前循环执行下一次循环)、return (跳出方法)...原创 2018-06-29 21:21:22 · 375 阅读 · 0 评论