- 博客(69)
- 收藏
- 关注
原创 【Decoder-Only、Encoder-Only和Encoder-Decoder大模型架构区别、优缺点以及使用其架构的模型示例】
Encoder-Only架构专注于理解和编码输入信息,常用于分类、标注等任务。Decoder-Only架构专注于从一系列输入生成或预测输出。这种架构通常用于文本生成任务,如语言模型。Encoder-Decoder架构结合了编码器和解码器的优点,通常用于需要理解输入并生成相应输出的任务,如机器翻译。
2024-03-14 16:59:00
8656
原创 HTTP协议的响应头、请求头、返回码全解
一、HTTP请求HTTP请求由三部分组成,请求行,消息报头,请求正文http请求行以一个方法开头,以空格开头,后面跟着URI以及http协议版本,每行结尾使用回车和换行,CRLF标识回车换行1、请求方法:GET:请求获取URI所标识的资源POST:在URI所标识的资源后附加新的数据HEAD:请求获取由URI所标识的的资源的响应头信息PUT:请求URI所标识的服务器存储一个资源DELETE:请求服务器删除URI所表示的资源TRACE:请求服务器回送收到的请求信息,用
2020-06-22 18:12:21
2845
原创 HTTP缓存机制及原理详解(最全)
前言缓存技术是无数WEB开发从业人员在工作过程中不可避免的一大问题。在产品开发的时候我们总是想办法避免缓存产生,而在产品发布之时又在想策略管理缓存提升网页的访问速度。了解浏览器的缓存命中原理,是开发WEB应用的基础,本文着眼于此,学习浏览器缓存的相关知识,总结缓存避免和缓存管理的方法,结合具体的场景说明缓存的相关问题。希望能对有需要的人有所帮助。一、HTTP报文介绍在介绍HTTP缓存之前,作为知识铺垫,先简单介绍一下HTTP报文。HTTP报文就是浏览器和服务器间通信时发送及响应的数据块。浏览器
2020-06-22 17:55:27
6598
1
原创 Java实现输入一个整数n,求从1到n这n个整数的十进制表示中某个字符出现的次数
一、题目输入一个整数n,求从1 到n这n个整数的十进制表示中某个字符出现的次数。举例说明:例如输入12 ,从1 到12 这些整数中包含1 的数字有1、10、11 和12,1 一共出现了5 次。输入:n :代表输入的整数。s :代表输入的某个字符 (0~9之间)输出:某个字符出现的次数,输入不合法的话,输出-1举例输入:12 1输出:5解题思路:一种是用字符串是个嵌套for循环。效率上可能不是好为什么要用Integer而不是int?因为,
2020-05-31 14:58:34
1095
原创 java编程实现三天打鱼两天晒网
一:题目:中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。二:设计思路:从键盘上输入具体的时间,判断时间是否合法,如果不合法输出输入的时间不合法,如果合法判断是否是闰年计算那天到2010年1月1号有多少天并且除以5看余数是多少,如果余数大于等于一小于等于3则当天在打渔其他时间为晒网输入格式:yyyy-mm-dd代码实现:import java.util.Scanner;/** * Created
2020-05-26 23:14:56
1734
原创 Android 架构设计实现之MVC、MVP及MVVM详解
1、MVC框架MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。简单来说就是通过controller的控制去操作model层的数据,并且返回给view层展示,当用户出发事
2020-05-25 19:11:15
550
原创 Java实现求二叉树的某一值的所有路径
1、描述:写一个程序创建一棵二叉树,并按照一定规则,输出二叉树根节点到叶子节点的路径。2、规则如下:从最顶端的根结点,到最下面的叶子节点,计算路径通过的所有节点的和,如果与设置的某一值的相同,那么输出这条路径上的所有节点。从根节点遍历树时,请按照左到右遍历,即优先访问左子树的节点。二叉树创建规则:从上到下一层一层的,按照从左到右的顺序进行构造输入"10,5,12,4,7"值,构造的树如下:1) 102) 10 / 53) 10 /\ 5
2020-05-15 16:26:30
525
原创 maven仓库命令上传jar和aar包
一、创建本地仓库mvn install:install-file -Dfile=D:\demo.aar -DgroupId=com.example.test-DartifactId=demo-api -Dversion=1.0.0.111-Dpackaging=aarDgroupId和DartifactId构成了该jar包在pom.xml的坐标, 对应依赖的DgroupId和DartifactIdDfile表示需要上传的jar/aar包的绝对路径Durl私服上仓库的url精确地址(打
2020-05-13 08:44:29
1267
原创 Java实现求两个字符串的最长公共子串
求解两个字符号的最长公共子串public class Demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String strOne = sc.next(); ...
2020-04-15 11:36:44
1651
原创 Android之Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置
以下是查找数组重复元素,并打印重复元素、重复次数、重复元素位置import org.testng.annotations.Test;import sun.org.mozilla.javascript.internal.ast.NewExpression;import java.util.*;public class SearchString { /** * 找出重复字...
2020-03-18 17:49:12
731
1
原创 Android中数组操作实例之查找数组中的重复元素
下面方法是找出数组中重复的元素并输出出来import java.util.Arrays; public class MainClass { public static void main(String[] args) { int[] my_array = {1, 2, 5, 5, 6, 6, 7, 2}; for (int i = 0; i < ...
2020-03-18 17:41:31
859
原创 Android通过设置标志位让线程停止
如何在线程停止运行 ,整体来说还是设置标志位使线程停止还是比较合理的,代码如下:class MyThread implements Runnable { private boolean flag = true; @Override public void run() { // TODO Auto-generated method stub int i = 0; ...
2020-03-17 16:10:34
342
原创 Android中实现ping功能的几种方法
使用java来实现ping功能。 并写入文件。为了使用java来实现ping的功能,有人推荐使用java的 Runtime.exec()方法来直接调用系统的Ping命令,也有人完成了纯Java实现Ping的程序,使用的是Java的NIO包(native io, 高效IO包)。但是设备检测只是想测试一个远程主机是否可用。所以,可以使用以下三种方式来实现:1. Jdk1.5的InetAddresss...
2020-03-17 15:47:38
6103
原创 CountDownLatch(闭锁)使用详解
在开发中遇到了多线程并发等问题,发现对于多线程并发来说CountDownLatch使用起来还是比较好用的,接下来对它做一次总结。1. CountDownLatch是什么CountDownLatch,英文翻译为倒计时锁存器,是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成...
2020-03-17 15:45:13
1624
原创 Android通过tcpdump手机抓包,wireshark分析
最近做项目需要抓包分析网络是走的H2,还是H1,或者Quic,在此做一个总结,以便后面方便查阅。首先需要手机root,这样可以配置手机的host文件,以及把文件推送到手机系统目录下面。1. 首先下载tcpdump地址:http://www.strazzere.com/android/tcpdump2. 安装adb并且配置在Android开发adb是必须要安装的,这里就不做过多的赘述。3...
2020-03-17 12:01:54
759
原创 Chromium网络堆栈之Cronet详解
一、简介Cronet 是 Chromium 网络堆栈,可作为库提供给 Android 应用。Cronet 利用多种技术来减少延迟并提高应用正常运行所需的网络请求吞吐量。Cronet 库每天处理数百万人所用的应用(如 YouTube、Google 应用、Google 相册以及Google 地图导航和 Google 公交)的请求。二、功能1、协议支持Cronet 本身支持 HTTP 协议、H...
2020-02-18 16:00:18
8510
原创 QUIC详解(基于UDP的低延时网络传输层协议)
一、QUIC 协议概述Quic 全称 quick udp internet connection [1],“快速 UDP 互联网连接”,(和英文 quick 谐音,简称“快”)是由 Google 提出的使用 udp 进行多路并发传输的协议。Quic 相比现在广泛应用的 http2+tcp+tls 协议有如下优势:减少了 TCP 三次握手及 TLS 握手时间;改进的拥塞控制;避免队头阻...
2020-02-17 17:41:23
8828
1
原创 TCP协议的全面详解
目录定义特点优缺点应用场景报文段格式建立连接过程(三次握手)释放连接过程(四次挥手)无差错传输与UDP协议的区别一、定义Transmission Control Protocol,即 传输控制协议属于 传输层通信协议基于TCP的应用层协议有HTTP、SMTP、FTP、Telnet 和 POP3二、特点面向连接、面向字节流、全双工通信、可靠具体介绍如下:...
2020-01-07 18:45:02
1030
1
原创 如何实现一个线程安全的单例,前提是不能加锁
单例,大家肯定都不陌生,这是Java中很重要的一个设计模式。稍微了解一点单例的朋友也都知道实现单例是要考虑并发问题的,一般情况下,我们都会使用synchronized来保证线程安全。现在在不使用synchronized和lock,如何实现一个线程安全的单例?接下来有几种方法分别介绍。按照级别以此往下讲。一、C级实现方法使用饿汉模式实现单例public class Singleton { ...
2020-01-07 11:11:17
485
原创 Android面试题汇总(适合Android中高级开发工程师)
目录Java篇Android篇一、前言根据多年的工作经验以及面试经验,总结了一下知识点,分为Java篇与Android篇,接下来分别介绍。二、Java篇1、java中==和equals和hashCode的区别基本数据类型的==比较的值相等.类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重...
2019-12-31 17:55:05
1385
原创 Android最新最全100余款开源App(对应Github开源项目)
最近整理了一些开源的APP,以及对应的一些Github开源项目,现在做一些记录,以便以后查阅。介绍与链接BeautifulRefreshLayout-漂亮的美食下拉刷新https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFoodMaterial Design-动画风格的选项卡ta...
2019-12-27 14:48:57
8089
原创 volatile关键字详解
一、前言volatile在编程中也是时常用到的,今天我做一个总结。二、volatile1. 定义Java 中的1个关键字 / 修饰符2. 作用保证 被 volatile修饰的共享变量 的可见性 & 有序性,但不保证原子性3. 具体描述下面将详细讲解 volatile是如何保证 “共享变量 的可见性 & 有序性,但不保证原子性”的具体原理储备知识:原子性、可见...
2019-12-25 18:02:12
242
原创 Static静态关键字全面详解
一、前言Static关键在编程中是比较常见的,具体的使用可能对有些人还不很清楚,接下来我就总结一下该关键字的几种使用方式。二、Static关键字1. 定义一种 表示静态属性的 关键字 / 修饰符2. 作用共用、共享能有此作用的原因分析:Java中,任何变量 / 代码存储时,都是 在编译时 由系统自动分配内存在静态变量编译后,所分配的内存会一直存在,直到程序退出内存...
2019-12-25 17:38:21
871
1
原创 (JVM)Java虚拟机详解(全面详细)
一、概述我们常说的JDK (Java Development Kit)包含了Java语言、Java虚拟机和Java API类库这三部分,是Java程序开发的最小环境。而JRE (Java Runtime Environment)包含了JavaAPI中的Java SE API子集和Java虚拟机这两部分,是Java程序运行的标准环境。那么可以看出Java虚拟机的重要性,它是整个Java平台的基石,...
2019-12-23 11:23:07
1180
原创 HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
一、HTTP的历史早在HTTP建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的web服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了WEB2.0以来,我们的页面变得复杂,不仅仅单纯的是一些简单的文字和图片,同时我们的HTML页面有了CSS,Javascript,来丰富我们的页面...
2019-12-20 15:09:58
207
原创 全面详解Synchronized关键字
目录一、Synchronized的作用保证同一时刻最多只有1个线程执行 被Synchronized修饰的方法 / 代码,其他线程 必须等待当前线程执行完该方法 / 代码块后才能执行该方法 / 代码块。二、 应用场景保证线程安全,解决多线程中的并发同步问题(实现的是阻塞型并发),具体场景如下:修饰 实例方法 / 代码块时,(同步)保护的是同一个对象方法的调用 & 当前实...
2019-12-19 18:41:46
342
1
原创 Android事件分发机制详解
一、前介1、事件分发的对象是谁?答:点击事件(Touch事件)定义当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件)Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象事件类型(4种)特别说明:事件列从手指接触屏幕 至 手指离开屏幕,这个过程产生的一系列事件注:一般情况下,事件列都是以D...
2019-12-19 14:12:53
220
原创 Android进程间通信方式总结
说到Android进程间通信,首先要说什么是IPC。一、什么是IPCIPC 即 Inter-Process Communication (进程间通信),是指进程间数据交互的过程。Android底层是基于Linux,而Linux基于安全考虑,是不允许两个进程间直接操作对方的数据,这就是进程隔离在Linux系统中,虚拟内存机制为每个进程分配了线性连续的内存空间,操作系统将这种虚拟内存空间映射...
2019-12-18 09:57:17
627
原创 Android进程间通信之ContentProvider(内容提供者)
简介ContentProvider主要用于在不同的应用程序间实现数据共享的功能,允许一个程序访问另外一个程序中的数据,还能保证数据访问的安全性。
2019-12-18 09:46:53
657
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人