peek

医用塑胶材料在灭菌中的适应性

自闭症网瘾萝莉.ら 提交于 2020-11-24 04:46:31
本章目的:本文对常见的灭菌法进行了对比总结,并讨论塑胶材料的适应性。 1.物 理 法 有多种物理灭菌法,其中最有效的是将热、湿和压力组合在一个称为高压蒸汽灭菌器的装置中,高压蒸汽灭菌法。 医疗设备的热灭菌法早在古罗马已经得到应用(蒸汽灭菌)。发明于1879年的高压蒸汽灭菌器融合了热、湿和高压。 1.1 高压蒸汽灭菌法 工作原理 高压蒸汽灭菌器是类似于高压锅的容器。将待灭菌的对象置于其中,然后密封。接着,在高压下充入高温蒸汽,从而替代空气。湿热通过酶类和结构蛋白的不可逆凝固和变性杀死微生物。实现这一目的的时间和温度取决于压力及被灭杀的微生物类型。整个周期持续15至60分钟(批量处理)。 问题 高压蒸汽灭菌器灭菌适合于能承受湿气、高压(高于环境1至3.5个大气压)及高温(+121°C至+148°C)的对象。典型例子有外科器械。大部分塑胶工程材料都很难耐此高温。目前所知的特种材料如PPS、PPSU、PEEK等等,材料价格贵,且成型难度高。。 2.化 学 法 有很多化学法可用于医疗领域的灭菌。本节讨论常见的几种方法。化学法和物理法可组合应用。 2.1 环氧乙烷(ETO)灭菌 环氧乙烷(ETO)首次报告于1859年,由于几乎没有替代方案可用于对热和湿气敏感的医疗装置进行灭菌,所以ETO的用途得到了不断发展。 工作原理 ETO灭菌器是一种可容纳待灭菌对象的容器。基本的ETO灭菌周期包括5个步骤

第十届蓝桥杯大赛软件类省赛 JAVA 大学 A 组

依然范特西╮ 提交于 2020-10-30 01:46:33
迷宫 本题总分:10 分 【问题描述】 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方。 010000 000100 001001 110000 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。 对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、向右走。 对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式, 其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。 请注意在字典序中D<l<r<u< span="">。(如果你把以下文字复制到文本文件中,请务 必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 maze.txt, 内容与下面的文本相同) 01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001100110100101 01111011010010001000001101001011100011000000010000 01000000001010100011010000101000001010101011001011

C#各类集合介绍

好久不见. 提交于 2020-10-25 20:37:45
集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。 平常在工作中List<T>集合是用的最多的,其次是Array(数组).今天整理一下各类形式的集合,不用就容易忘,必须要记录一下. Array Array:在内存上是连续分配的(可定义长度,也可不定义长度),Array中的元素类型要一样。 Array通过坐标(索引)访问, 读取、修改快---增删慢 如果Array定义了长度,数据项就不能超过Array中的长度范围. ArrayList ArrayList:不定长度的,连续分配的 // 元素没有类型限制 任何元素都当成object处理,如果是值类型会有装箱操作 ArrayList arrayList = new ArrayList(); arrayList.Add( " object " ); // 可以放string arrayList.Add(Enumerable.Range( 1 , 100 ).ToArray()); // 可以放Array Func< string , int > func = m => 1 ; arrayList.Add(func); // 可以放Delegate // 移除数据 arrayList

leetcode---简单

泄露秘密 提交于 2020-10-24 14:46:43
两数相加 地址: https://leetcode-cn.com/problems/two-sum/ public int[] twoSum(int[] nums,int target){ for (int i=0;i<nums.length;i++){ for (int j=i+1;j<nums.length;j++){ if (nums[i]+nums[j]==target){ return new int[]{i,j}; } } } return new int[]{-1,-1}; } 判断指标括号 地址: https://leetcode-cn.com/problems/valid-parentheses/ private static HashMap<Character,Character> characterHashMap; public Solution(){ characterHashMap = new HashMap<Character, Character>(); characterHashMap.put(')', '('); characterHashMap.put('}', '{'); characterHashMap.put(']', '['); } public boolean isValid(String s) { Stack<Character>

java8 Stream的实现原理 (从零开始实现一个stream流)

喜欢而已 提交于 2020-10-24 11:03:51
1.Stream 流的介绍 1.1 java8 stream介绍   java8新增了stream流的特性,能够让用户以函数式的方式、更为简单的操纵集合等数据结构,并实现了用户无感知的并行计算。 1.2 从零开始实现一个stream流   相信很多人在使用过java8的streamAPI接口之后,都会对其实现原理感到好奇,但往往在看到jdk的stream源码后却被其复杂的抽象、封装给弄糊涂了,而无法很好的理解其背后的原理。究其原因,是因为jdk的stream源码是高度工程化的代码,工程化的代码为了效率和满足各式各样的需求,会将代码实现的极其复杂,不易理解。   在这里,我们将抛开jdk的实现思路, 从零开始实现一个stream流 。   我们的 stream流 同样拥有 惰性求值 , 函数式编程接口 等特性,并 兼容jdk的Collection等数据结构 (但不支持并行计算 orz)。   相信在亲手实现一个stream流的框架之后,大家能更好的理解流计算的原理。 2.stream的优点   在探讨探究stream的实现原理和动手实现之前,我们先要体会stream流计算的独特之处。   举个例子: 有一个List<Person>列表,我们需要获得年龄为70岁的前10个Person的姓名。 过程式的解决方案:    稍加思考,我们很快就写出了一个过程式的解决方案( 伪代码 ):

数据据结构(C++与C#比较)

久未见 提交于 2020-10-02 10:32:56
数据据结构(C++与C#比较) 栈 概念 Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构 C++ // 引入头文件 #include <stack> 常用函数 函数名 作用 push 入栈 pop 出栈 top 返回栈顶元素 empty 检查栈是否为空 size 返回栈中元素数量 例子 //定义一个栈 stack<int> s; //向栈中压入10个元素(1~10) for (int i = 1; i <= 10; i++) { s.push(i); } //输出 while(!s.empty()) { cout << s.top() << endl; s.pop(); } C# //引入命名空间 using System.Collections.Generic; 常用函数 函数名 作用 push 入栈 pop 出栈 peek 弹出元素,但不删除 count 弹出元素,且删除 clear 清空栈 ToArray 复制 Stack 到一个新的数组中 Contains 判断某个元素是否在 Stack 中 例子 //定义一个栈对象 Stack < int > s = new Stack < int > ( ) ; //压入10个元素(1~10) for ( int i = 1 ; i <= 10 ; i ++ )

【Java】手动模拟实现一个AQS

…衆ロ難τιáo~ 提交于 2020-08-17 16:44:10
什么是AQS? synchronized(基于底层C++,语言实现的同步机制) Aqs同步器(Java实现) 【Unsafe】魔法类 绕过虚拟机,直接操作底层的内存 话不多说,我们手动模拟一个AQS: 1》锁对象: package com.example.demo.thread.current; import com.example.demo.util.UnsafeInstance; import sun.misc.Unsafe; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.locks.LockSupport; /* * * 公平锁 * * @author Code Farmer * @date 2020/5/28 22:47 */ public class AqsLock { /* * * 当前加锁状态,记录加锁的次数 */ private volatile int state = 0 ; /* * * 当前持有锁的线程 */ private Thread lockHolder; private ConcurrentLinkedQueue<Thread> waiters = new ConcurrentLinkedQueue<>(); // 基于CAS保证入队出队安全

恕我直言你可能真的不会java第4篇:Stream管道流Map操作

末鹿安然 提交于 2020-08-16 07:19:49
一、回顾Stream管道流map的基础用法 最简单的需求:将集合中的每一个字符串,全部转换成大写! List<String> alpha = Arrays.asList("Monkey", "Lion", "Giraffe", "Lemur"); //不使用Stream管道流 List<String> alphaUpper = new ArrayList<>(); for (String s : alpha) { alphaUpper.add(s.toUpperCase()); } System.out.println(alphaUpper); //[MONKEY, LION, GIRAFFE, LEMUR] // 使用Stream管道流 List<String> collect = alpha.stream().map(String::toUpperCase).collect(Collectors.toList()); //上面使用了方法引用,和下面的lambda表达式语法效果是一样的 //List<String> collect = alpha.stream().map(s -> s.toUpperCase()).collect(Collectors.toList()); System.out.println(collect); //[MONKEY, LION, GIRAFFE

迷宫问题的求解(回溯法、深度优先遍历、广度优先遍历)

ⅰ亾dé卋堺 提交于 2020-08-14 14:25:19
一、问题介绍   有一个迷宫地图,有一些可达的位置,也有一些不可达的位置(障碍、墙壁、边界)。从一个位置到下一个位置只能通过向上(或者向右、或者向下、或者向左)走一步来实现,从起点出发,如何找到一条到达终点的通路。本文将用两种不同的解决思路,四种具体实现来求解迷宫问题。   用二维矩阵来模拟迷宫地图,1代表该位置不可达,0代表该位置可达。每走过一个位置就将地图的对应位置标记,以免重复。找到通路后打印每一步的坐标,最终到达终点位置。   封装了点Dot,以及深度优先遍历用到的Block,广度优先遍历用到的WideBlock。 private int [][] map = { // 迷宫地图,1代表墙壁,0代表通路 {1,1,1,1,1,1,1,1,1,1 }, { 1,0,0,1,0,0,0,1,0,1 }, { 1,0,0,1,0,0,0,1,0,1 }, { 1,0,0,0,0,1,1,0,0,1 }, { 1,0,1,1,1,0,0,0,0,1 }, { 1,0,0,0,1,0,0,0,0,1 }, { 1,0,1,0,0,0,1,0,0,1 }, { 1,0,1,1,1,0,1,1,0,1 }, { 1,1,0,0,0,0,0,0,0,1 }, { 1,1,1,1,1,1,1,1,1,1 } }; private int mapX = map.length - 1; //

Java 8 Stream API学习总结

混江龙づ霸主 提交于 2020-08-14 07:30:15
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。 这一次为什么要系统性的总结一下 Java 8 Stream API 呢?说得简单点,我们先不论性能,我们就是为了 装x ,而且要让这个 x 装得再优秀一些,仅此而已! Stream基础知识 流程 创建流 → 流的中间操作 → 流的最终操作 创建流 我们需要把哪些元素放入流中,常见的api有: // 使用List创建流 list.stream() // 使用一个或多个元素创建流 Stream.of(T value) Stream.of(T... values) // 使用数组创建流 Arrays.stream(T[] array) // 创建一个空流 Stream.empty() // 两个流合并 Stream.concat(Stream<? extends T> a, Stream<? extends T> b) //