1. An optical lens for adjusting light emitted from a light source, comprising:
a light incident face facing the light source;
a light emitting face opposite to the light incident face; and
a connecting face connecting the light incident face and the light emitting face;
wherein the connecting face is planar, and the light emitting face comprises a lateral face extending upwardly from an outer periphery of the connecting face and a top face located above the light incident face; and
wherein the top face of the light emitting face comprises a center facet facing the light incident face, a first curved facet surrounding and connecting to the center facet, and a second curved facet surrounding and smoothly connecting to the first curved facet.
2. The optical lens as claimed in claim 1, wherein a center of a bottom face of the optical lens is recessed inwardly, whereby the light incident face is formed.
3. The optical lens as claimed in claim 2, wherein the light incident face is a sculptured face, an ellipsoidal face, a spherical face or a paraboloidal face.
4. The optical lens as claimed in claim 1, wherein the center facet is planar.
5. The optical lens as claimed in claim 1, wherein the center facet is concave.
6. The optical lens as claimed in claim 1, wherein the first curved face protrudes toward the light incident face, and the second curved face protrudes away from the light incident face.
7. The optical lens as claimed in claim 6, wherein the first curved facet is sculptured, ellipsoidal, spherical or paraboloidal.
8. The optical lens as claimed in claim 6, wherein the second curved facet is sculptured, ellipsoidal, spherical or paraboloidal.
9. The optical lens as claimed in claim 1, wherein the optical lens defines a central axis, and the optical lens is rotationally symmetrical relative to the central axis.
10. The optical lens as claimed in claim 9, wherein the light incident face, the center facet, the first curved facet and the second curved facet of the top face are rotationally symmetrical relative to the central axis of the optical lens.
11. A light source module, comprising:
a light source; and
an optical lens covering the light source, and the optical lens comprising:
a light incident face facing the light source;
a light emitting face opposite to the light incident face; and
a connecting face connecting the light incident face and the light emitting face;
wherein the connecting face is planar, and the light emitting face comprises a lateral face extending upwardly from an outer periphery of the connecting face and a top face located above the light incident face; and
wherein the top face of the light emitting face comprises a center facet facing the light incident face, a first curved facet surrounding and connecting to the center facet, and a second curved facet surrounding and smoothly connecting to the first curved facet.
12. The light source module as claimed in claim 11, wherein a center of a bottom face of the optical lens is recessed inwardly, whereby the light incident face is formed.
13. The light source module as claimed in claim 12, wherein the light incident face is a sculptured face, an ellipsoidal face, a spherical face or a paraboloidal face.
14. The light source module as claimed in claim 11, wherein the center facet is planar.
15. The light source module as claimed in claim 11, wherein the center facet is concave.
16. The light source module as claimed in claim 11, wherein the first curved face protrudes toward the light incident face, and the second curved face protrudes away from the light incident face.
17. The light source module as claimed in claim 16, wherein the first curved facet is sculptured, ellipsoidal, spherical or paraboloidal.
18. The light source module as claimed in claim 16, wherein the second curved facet is sculptured, ellipsoidal, spherical or paraboloidal.
19. The light source module as claimed in claim 11, wherein the optical lens defines a central axis, and the optical lens is rotationally symmetrical relative to the central axis.
20. The light source module as claimed in claim 19, wherein the light incident face, the center facet, the first curved facet and the second curved facet of the top face are rotationally symmetrical relative to the central axis of the optical lens.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method, comprising:
defining, via a processor within a memory storage area, at least one literal value data structure within a literal pool data structure that is capable of being resolved by run-time initialization within a virtual runtime environment;
detecting a run-time reference to one of the at least one literal value data structure within the literal pool data structure;
determining whether a literal value at the one of the at least one literal value data structure is resolved and run-time accessible;
resolving during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved; and
returning the resolved literal value.
2. The method of claim 1, further comprising unresolving, via the processor, the literal value at the one of the at least one literal value data structure of the literal pool data structure in response to a code instruction to unresolve the literal value.
3. The method of claim 1, where defining, via the processor within the memory storage area, the at least one literal value data structure within the literal pool data structure that is capable of being resolved by run-time initialization within the virtual runtime environment comprises defining a single bootstrap loader method (BSM) for each literal value data structure within the literal pool data structure, where each of a plurality of threads executed by the processor invoke the same single BSM to bootstrap the literal value.
4. The method of claim 1, where resolving during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved comprises executing a user-defined function defined by a literal pool attribute to compute the resolved literal value.
5. The method of claim 4, further comprising inferring a data type of the resolved literal value from a signature of the user-defined function defined by the literal pool attribute.
6. The method of claim 1, where resolving during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved comprises:
determining whether any other thread is contemporaneously attempting to resolve the literal value; and
allowing only one thread to resolve the literal value.
7. The method of claim 1, where a data type of each of the at least one literal value data structure within the literal pool data structure is defined by a return type of a bootstrap loader method (BSM) that bootstraps the respective literal value at each of the at least one literal value data structure within the literal pool data structure to allow different data types for different ones of the at least one literal value data structure.
8. A system, comprising:
a memory; and
a processor programmed to:
define within the memory at least one literal value data structure within a literal pool data structure that is capable of being resolved by run-time initialization within a virtual runtime environment;
detect a run-time reference to one of the at least one literal value data structure within the literal pool data structure;
determine whether a literal value at the one of the at least one literal value data structure is resolved and run-time accessible;
resolve during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved; and
return the resolved literal value.
9. The system of claim 8, where the processor is further programmed to unresolve the literal value at the one of the at least one literal value data structure of the literal pool data structure in response to a code instruction to unresolve the literal value.
10. The system of claim 8, where, in being programmed to define within the memory the at least one literal value data structure within the literal pool data structure that is capable of being resolved by run-time initialization within the virtual runtime environment, the processor is programmed to define a single bootstrap loader method (BSM) for each literal value data structure within of the literal pool data structure, where each of a plurality of threads executed by the processor invoke the same single BSM to bootstrap the literal value.
11. The system of claim 8, where, in being programmed to resolve during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved, the processor is programmed to execute a user-defined function defined by a literal pool attribute to compute the resolved literal value, and where the processor is further programmed to infer a data type of the resolved literal value from a signature of the user-defined function defined by the literal pool attribute.
12. The system of claim 8, where, in being programmed to resolve during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved, the processor is programmed to:
determine whether any other thread is contemporaneously attempting to resolve the literal value; and
allow only one thread to resolve the literal value.
13. The system of claim 8, where a data type of each of the at least one literal value data structure within the literal pool data structure is defined by a return type of a bootstrap loader method (BSM) that bootstraps the respective literal value at each of the at least one literal value data structure within the literal pool data structure to allow different data types for different ones of the at least one literal value data structure.
14. A computer program product comprising a computer readable storage medium including computer readable program code, where the computer readable program code when executed on a computer causes the computer to:
define within a memory storage area at least one literal value data structure within a literal pool data structure that is capable of being resolved by run-time initialization within a virtual runtime environment;
detect a run-time reference to one of the at least one literal value data structure within the literal pool data structure;
determine whether a literal value at the one of the at least one literal value data structure is resolved and run-time accessible;
resolve during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved; and
return the resolved literal value.
15. The computer program product of claim 14, where the computer readable program code when executed on the computer further causes the computer to unresolve the literal value at the one of the at least one literal value data structure of the literal pool data structure in response to a code instruction to unresolve the literal value.
16. The computer program product of claim 14, where in causing the computer to define within the memory storage area the at least one literal value data structure within the literal pool data structure that is capable of being resolved by run-time initialization within the virtual runtime environment, the computer readable program code when executed on the computer causes the computer to define a single bootstrap loader method (BSM) for each literal value data structure within of the literal pool data structure, where each of a plurality of threads executed by the computer invoke the same single BSM to bootstrap the literal value.
17. The computer program product of claim 14, where in causing the computer to resolve during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved, the computer readable program code when executed on the computer causes the computer to execute a user-defined function defined by a literal pool attribute to compute the resolved literal value.
18. The computer program product of claim 17, where the computer readable program code when executed on the computer further causes the computer to infer a data type of the resolved literal value from a signature of the user-defined function defined by the literal pool attribute
19. The computer program product of claim 14, where in causing the computer to resolve during run-time the literal value at the one of the at least one literal value data structure within the literal pool data structure in response to determining that the literal value is not resolved, the computer readable program code when executed on the computer causes the computer to:
determine whether any other thread is contemporaneously attempting to resolve the literal value; and
allow only one thread to resolve the literal value.
20. The computer program product of claim 14, where a data type of each of the at least one literal value data structure within the literal pool data structure is defined by a return type of a bootstrap loader method (BSM) that bootstraps the respective literal value at each of the at least one literal value data structure within the literal pool data structure to allow different data types for different ones of the at least one literal value data structure.