RU2666237C2 - Типы неизменяемых объектов - Google Patents
Типы неизменяемых объектов Download PDFInfo
- Publication number
- RU2666237C2 RU2666237C2 RU2015126784A RU2015126784A RU2666237C2 RU 2666237 C2 RU2666237 C2 RU 2666237C2 RU 2015126784 A RU2015126784 A RU 2015126784A RU 2015126784 A RU2015126784 A RU 2015126784A RU 2666237 C2 RU2666237 C2 RU 2666237C2
- Authority
- RU
- Russia
- Prior art keywords
- instance
- computer
- type
- immutable
- link
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Storage Device Security (AREA)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/734,750 US9098269B2 (en) | 2013-01-04 | 2013-01-04 | System and method to ensure resource access safety with immutable object types |
| US13/734,750 | 2013-01-04 | ||
| PCT/US2014/010112 WO2014107539A1 (en) | 2013-01-04 | 2014-01-03 | Immutable object types |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2015126784A RU2015126784A (ru) | 2017-01-13 |
| RU2666237C2 true RU2666237C2 (ru) | 2018-09-06 |
Family
ID=50031532
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2015126784A RU2666237C2 (ru) | 2013-01-04 | 2014-01-03 | Типы неизменяемых объектов |
Country Status (11)
| Country | Link |
|---|---|
| US (2) | US9098269B2 (enExample) |
| EP (1) | EP2941699A1 (enExample) |
| JP (1) | JP6255420B2 (enExample) |
| KR (1) | KR102100531B1 (enExample) |
| CN (1) | CN105144098B (enExample) |
| AU (2) | AU2014204049B2 (enExample) |
| BR (1) | BR112015015790A2 (enExample) |
| CA (1) | CA2896593C (enExample) |
| MX (1) | MX2015008715A (enExample) |
| RU (1) | RU2666237C2 (enExample) |
| WO (1) | WO2014107539A1 (enExample) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9098269B2 (en) * | 2013-01-04 | 2015-08-04 | Microsoft Technology Licensing, Llc | System and method to ensure resource access safety with immutable object types |
| US10990425B2 (en) * | 2019-05-08 | 2021-04-27 | Morgan Stanley Services Group Inc. | Simulated change of immutable objects during execution runtime |
| US11580199B2 (en) * | 2019-09-20 | 2023-02-14 | International Business Machines Corporation | Correspondence of external operations to containers and mutation events |
| US11748129B2 (en) | 2020-10-15 | 2023-09-05 | Morgan Stanley Services Group Inc. | Simulated change of immutable objects during execution runtime |
| US12111957B2 (en) | 2021-06-08 | 2024-10-08 | Microsoft Technology Licensing, Llc | Software provenance validation |
| US11914580B2 (en) | 2021-09-30 | 2024-02-27 | Salesforce, Inc. | Mechanisms for deploying database clusters |
| US12079515B2 (en) | 2022-01-20 | 2024-09-03 | Pure Storage, Inc. | Immutable nodes in a container system |
| US12386556B2 (en) | 2022-01-20 | 2025-08-12 | Pure Storage, Inc. | Using data volumes to store container images |
| US12019522B2 (en) | 2022-01-20 | 2024-06-25 | Pure Storage, Inc. | Container recovery layer prioritization |
| US12236103B2 (en) | 2022-01-20 | 2025-02-25 | Pure Storage, Inc. | Storage system based monitoring and remediation for containers |
| US12147313B2 (en) | 2022-01-20 | 2024-11-19 | Pure Storage, Inc. | Container recovery using volumes comprising container images |
| US12321449B2 (en) | 2022-01-20 | 2025-06-03 | Pure Storage, Inc. | Storage system based threat detection and remediation for containers |
| US12175135B2 (en) | 2022-01-20 | 2024-12-24 | Pure Storage, Inc. | Containers as volumes in a container-aware storage system |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6009269A (en) * | 1997-03-10 | 1999-12-28 | Digital Equipment Corporation | Detecting concurrency errors in multi-threaded programs |
| US6092156A (en) * | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
| US6182277B1 (en) * | 1998-04-15 | 2001-01-30 | Oracle Corporation | Methods and apparatus for declarative programming techniques in an object oriented environment |
| US6542891B1 (en) * | 1999-01-29 | 2003-04-01 | International Business Machines Corporation | Safe strength reduction for Java synchronized procedures |
| RU2360275C2 (ru) * | 2003-10-23 | 2009-06-27 | Майкрософт Корпорейшн | Уровень интеграции сред |
| US20090327999A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Immutable types in imperitive language |
| RU2412475C2 (ru) * | 2003-08-21 | 2011-02-20 | Майкрософт Корпорейшн | Системы и способы расширений и наследования для блоков информации, управляемых системой аппаратно-программного интерфейса |
| RU2413984C2 (ru) * | 2005-04-21 | 2011-03-10 | Майкрософт Корпорейшн | Системы и способы манипулирования данными в системе хранения данных |
Family Cites Families (57)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5590332A (en) | 1995-01-13 | 1996-12-31 | Baker; Henry G. | Garbage collection, tail recursion and first-class continuations in stack-oriented languages |
| US5701458A (en) | 1995-09-20 | 1997-12-23 | International Business Machines Corporation | System and method for managing arbitrary subsets of access control lists in a computer network |
| US6510460B1 (en) | 1997-12-18 | 2003-01-21 | Sun Microsystems, Inc. | Method and apparatus for enforcing locking invariants in multi-threaded systems |
| US6438560B1 (en) * | 1999-09-16 | 2002-08-20 | International Business Machines Corporation | Reuse of immutable objects during object creation |
| US6681385B1 (en) | 1999-10-07 | 2004-01-20 | Microsoft Corporation | Method and apparatus for determining the relationships and useful lifetime of objects in a program |
| US6675378B1 (en) | 2000-01-06 | 2004-01-06 | International Business Machines Corporation | Object oriented apparatus and method for allocating array objects on an invocation stack |
| US6925638B1 (en) * | 2000-09-21 | 2005-08-02 | International Business Machines Corporation | Mutability analysis in Java |
| US6598141B1 (en) | 2001-03-08 | 2003-07-22 | Microsoft Corporation | Manipulating interior pointers on a stack during garbage collection |
| US7058943B2 (en) | 2001-05-24 | 2006-06-06 | International Business Machines Corporation | Object oriented apparatus and method for allocating objects on an invocation stack in a partial compilation environment |
| EP1308845A1 (en) | 2001-10-23 | 2003-05-07 | Sun Microsystems, Inc. | Method and apparatus for scoped memory |
| US7096456B2 (en) | 2001-11-30 | 2006-08-22 | Microsoft Corporation | Method and apparatus for providing dynamically scoped variables within a statically scoped computer programming language |
| JP2003167737A (ja) | 2001-11-30 | 2003-06-13 | Nec Corp | スタック使用方法 |
| CA2408457A1 (en) | 2002-10-17 | 2004-04-17 | Ibm Canada Limited-Ibm Canada Limitee | Collection and detection of differences of values of expressions/variables when debugging a computer process |
| US7603664B2 (en) * | 2002-10-22 | 2009-10-13 | Sun Microsystems, Inc. | System and method for marking software code |
| US7219340B2 (en) * | 2003-10-23 | 2007-05-15 | Microsoft Corporation | Changeable class and pattern to provide selective mutability in computer programming environments |
| US7774376B1 (en) | 2004-07-30 | 2010-08-10 | Microsoft Corporation | Type-system extensions for object-oriented language based on coercive subtyping with restrictions |
| US7669226B2 (en) * | 2004-07-30 | 2010-02-23 | International Business Machines Corporation | Generic declarative authorization scheme for Java |
| US7912863B1 (en) | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Compositional lifting of operations over structural types |
| EP1784725A1 (en) | 2004-08-03 | 2007-05-16 | Softricity, Inc. | System and method for controlling inter-application association through contextual policy control |
| US7730450B2 (en) * | 2004-08-12 | 2010-06-01 | National Instruments Corporation | Automatic versioning and data mutation of user-defined data types |
| KR100577366B1 (ko) | 2004-09-25 | 2006-05-10 | 삼성전자주식회사 | 이종의 자바 메소드를 실행하는 방법 및 장치 |
| US20070056042A1 (en) | 2005-09-08 | 2007-03-08 | Bahman Qawami | Mobile memory system for secure storage and delivery of media content |
| CN101046755B (zh) | 2006-03-28 | 2011-06-15 | 郭明南 | 一种计算机自动内存管理的系统及方法 |
| GB0608406D0 (en) | 2006-04-28 | 2006-06-07 | Ibm | Creating references in a scoped memory system |
| US8245031B2 (en) | 2006-07-07 | 2012-08-14 | Sandisk Technologies Inc. | Content control method using certificate revocation lists |
| US7739466B2 (en) * | 2006-08-11 | 2010-06-15 | Intel Corporation | Method and apparatus for supporting immutable memory |
| US8132093B2 (en) | 2006-08-14 | 2012-03-06 | Microsoft Corporation | Instance annotation in object-oriented programming |
| US8527946B2 (en) * | 2007-03-06 | 2013-09-03 | International Business Machines Corporation | Declarative object identity using relation types |
| US20080244516A1 (en) | 2007-03-26 | 2008-10-02 | Microsoft Corporation | Variable capture in object oriented languages |
| TW200841173A (en) | 2007-04-12 | 2008-10-16 | Arcadyan Technology Corp | Tracking method for embedded system |
| US9785549B2 (en) | 2007-04-27 | 2017-10-10 | Microsoft Technology Licensing, Llc | Managing object lifetime for native/managed peers |
| US8281293B2 (en) * | 2007-07-24 | 2012-10-02 | International Business Machines Corporation | Copy-on-write optimization of immutable objects for objects oriented languages |
| US8141063B2 (en) | 2007-08-30 | 2012-03-20 | International Business Machines Corporation | Static analysis of reachable methods and fields in object-oriented applications using object instantiation |
| US8122068B2 (en) | 2007-09-25 | 2012-02-21 | International Business Machines Corporation | Memory management using garbage collection of objects in child scoped memory areas |
| US8438612B2 (en) | 2007-11-06 | 2013-05-07 | Varonis Systems Inc. | Visualization of access permission status |
| JP2009129127A (ja) * | 2007-11-22 | 2009-06-11 | Fujitsu Ltd | プログラムの不変物抽出処理プログラム,処理装置,および処理方法,ならびに該プログラムを記憶する記憶媒体 |
| US8347266B2 (en) * | 2007-12-10 | 2013-01-01 | Microsoft Corporation | Declarative object identity |
| EP2274676A1 (en) | 2008-01-31 | 2011-01-19 | Oracle International Corporation | System and method for transactional cache |
| US8762969B2 (en) * | 2008-08-07 | 2014-06-24 | Microsoft Corporation | Immutable parsing |
| US8095731B2 (en) | 2008-11-06 | 2012-01-10 | Oracle International Corporation | Mutable object caching |
| US8676847B2 (en) | 2009-04-07 | 2014-03-18 | International Business Machines Corporation | Visibility control of resources |
| US8495329B2 (en) | 2009-04-13 | 2013-07-23 | Microsoft Corporation | Type system support for memory isolation permissions |
| US9569282B2 (en) | 2009-04-24 | 2017-02-14 | Microsoft Technology Licensing, Llc | Concurrent mutation of isolated object graphs |
| US8473900B2 (en) * | 2009-07-01 | 2013-06-25 | Advanced Micro Devices, Inc. | Combining classes referenced by immutable classes into a single synthetic class |
| US8555259B2 (en) | 2009-12-04 | 2013-10-08 | International Business Machines Corporation | Verifying function performance based on predefined count ranges |
| JP5724343B2 (ja) * | 2009-12-25 | 2015-05-27 | リコーイメージング株式会社 | 一眼レフカメラのミラーブレーキ機構 |
| US8566544B2 (en) | 2009-12-29 | 2013-10-22 | Microsoft Corporation | Compiler-enforced agent access restriction |
| US9424010B2 (en) | 2010-08-30 | 2016-08-23 | International Business Machines Corporation | Extraction of functional semantics and isolated dataflow from imperative object oriented languages |
| US8533695B2 (en) | 2010-09-28 | 2013-09-10 | Microsoft Corporation | Compile-time bounds checking for user-defined types |
| US8533413B2 (en) * | 2010-12-03 | 2013-09-10 | Sap Ag | Content modification control using read-only type definitions |
| US8589951B2 (en) * | 2011-01-07 | 2013-11-19 | International Business Machines Corporation | Conserving memory by using objects that are selectably mutable during runtime |
| US8826229B2 (en) * | 2011-06-02 | 2014-09-02 | The Mathworks, Inc. | Immutable properties in a class |
| US9684600B2 (en) | 2011-11-30 | 2017-06-20 | International Business Machines Corporation | Dynamic process/object scoped memory affinity adjuster |
| US9971578B2 (en) | 2012-10-15 | 2018-05-15 | Microsoft Technology Licensing, Llc | Reference attribute annotation signifying no external reference |
| US20140196015A1 (en) | 2013-01-04 | 2014-07-10 | Microsoft Corporation | Declaration of lifetime of resource reference |
| US9229959B2 (en) | 2013-01-04 | 2016-01-05 | Microsoft Technology Licensing, Llc | Object graph partial immutability and isolation enforcement |
| US9098269B2 (en) * | 2013-01-04 | 2015-08-04 | Microsoft Technology Licensing, Llc | System and method to ensure resource access safety with immutable object types |
-
2013
- 2013-01-04 US US13/734,750 patent/US9098269B2/en active Active
-
2014
- 2014-01-03 RU RU2015126784A patent/RU2666237C2/ru active
- 2014-01-03 MX MX2015008715A patent/MX2015008715A/es unknown
- 2014-01-03 CA CA2896593A patent/CA2896593C/en active Active
- 2014-01-03 CN CN201480003944.2A patent/CN105144098B/zh active Active
- 2014-01-03 EP EP14702314.7A patent/EP2941699A1/en not_active Ceased
- 2014-01-03 KR KR1020157021105A patent/KR102100531B1/ko active Active
- 2014-01-03 WO PCT/US2014/010112 patent/WO2014107539A1/en not_active Ceased
- 2014-01-03 BR BR112015015790A patent/BR112015015790A2/pt not_active Application Discontinuation
- 2014-01-03 JP JP2015551764A patent/JP6255420B2/ja not_active Expired - Fee Related
- 2014-01-03 AU AU2014204049A patent/AU2014204049B2/en not_active Ceased
-
2015
- 2015-06-25 US US14/750,416 patent/US9740460B2/en active Active
-
2019
- 2019-02-05 AU AU2019200748A patent/AU2019200748B2/en not_active Ceased
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6009269A (en) * | 1997-03-10 | 1999-12-28 | Digital Equipment Corporation | Detecting concurrency errors in multi-threaded programs |
| US6092156A (en) * | 1997-11-05 | 2000-07-18 | Unisys Corporation | System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations |
| US6182277B1 (en) * | 1998-04-15 | 2001-01-30 | Oracle Corporation | Methods and apparatus for declarative programming techniques in an object oriented environment |
| US6542891B1 (en) * | 1999-01-29 | 2003-04-01 | International Business Machines Corporation | Safe strength reduction for Java synchronized procedures |
| RU2412475C2 (ru) * | 2003-08-21 | 2011-02-20 | Майкрософт Корпорейшн | Системы и способы расширений и наследования для блоков информации, управляемых системой аппаратно-программного интерфейса |
| RU2360275C2 (ru) * | 2003-10-23 | 2009-06-27 | Майкрософт Корпорейшн | Уровень интеграции сред |
| RU2413984C2 (ru) * | 2005-04-21 | 2011-03-10 | Майкрософт Корпорейшн | Системы и способы манипулирования данными в системе хранения данных |
| US20090327999A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Immutable types in imperitive language |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102100531B1 (ko) | 2020-04-13 |
| US9098269B2 (en) | 2015-08-04 |
| CN105144098B (zh) | 2018-11-13 |
| AU2014204049B2 (en) | 2018-11-15 |
| US20140196008A1 (en) | 2014-07-10 |
| US20150324175A1 (en) | 2015-11-12 |
| AU2019200748B2 (en) | 2020-02-27 |
| WO2014107539A1 (en) | 2014-07-10 |
| RU2015126784A (ru) | 2017-01-13 |
| JP2016502219A (ja) | 2016-01-21 |
| MX2015008715A (es) | 2016-03-09 |
| CA2896593C (en) | 2020-09-08 |
| US9740460B2 (en) | 2017-08-22 |
| CA2896593A1 (en) | 2014-07-10 |
| BR112015015790A2 (pt) | 2017-07-11 |
| KR20150104156A (ko) | 2015-09-14 |
| AU2019200748A1 (en) | 2019-02-21 |
| JP6255420B2 (ja) | 2017-12-27 |
| AU2014204049A1 (en) | 2015-07-16 |
| EP2941699A1 (en) | 2015-11-11 |
| CN105144098A (zh) | 2015-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2666237C2 (ru) | Типы неизменяемых объектов | |
| CN104718529B (zh) | 表示没有外部引用的引用属性注释 | |
| US20160098346A1 (en) | Assisted garbage collection in a virtual machine | |
| US4964063A (en) | System and method for frame and unit-like symbolic access to knowledge represented by conceptual structures | |
| US10552127B2 (en) | Method and system for developing relation-context specific software applications | |
| US20170177315A1 (en) | Composing a module system and a non-module system | |
| CN114830099B (zh) | 集成引用和次对象的标记 | |
| US9311111B2 (en) | Programming environment with support for handle and non-handle user-created classes | |
| US8316357B2 (en) | Type descriptor management for frozen objects | |
| JP5852246B2 (ja) | 柔軟性の高いメタデータの合成 | |
| US12073198B2 (en) | Preventing garbage object accumulation on minimal runtimes while supporting an implicit deallocation programming experience | |
| EP2941702B1 (en) | Object graph partial immutability and isolation enforcement | |
| US20140196015A1 (en) | Declaration of lifetime of resource reference | |
| US9841975B2 (en) | Method and apparatus for performing register allocation | |
| US20240289315A1 (en) | Indexing in graph-based models | |
| CN117369861A (zh) | 应用程序的线程管理策略配置方法及相关装置 | |
| Villela | About Static. NET Assembly | |
| EP3164800B1 (en) | Bridging a module system and a non-module system | |
| CN115329227A (zh) | 一种WebIDE中区块链智能合约编辑器文件管理方法和装置 | |
| Späth et al. | Discovering Classes and Objects | |
| Sarcar | Analysis of Some Key Comparisons in C# | |
| CN119895817A (zh) | 代码执行方法、装置及设备 | |
| Sestoft | Garbage Collection | |
| Feiler | Using SQLite/Core Data with Objective-C (iOS and Mac) | |
| Friesen | Discovering Classes and Objects |